Skip to main content

Full text of "CBM 8-Bit Magazine Index: Compute's Gazette Special Section"

See other formats


0 


COMPUTE 


NOVEMBER 1991 


INSIDE QUATTRO PRO 3.0 
KIDZ MOUSE ¢ POLICE QUEST Ill 


U.S. $2.95 
1 


| 


11486 


1 


| 


| 


02 


3 


| 


| 


3 


need for easy communications with PCs, 
mainframes, and all types of on-line services 
and bulletin boards. It even negotiates the best 
connection automatically. 

To get you up and running right out of the 
; box, every OPTIMA 96 modem comes complete 
Wouldnt it be nice to have a modem that ran with Hayes Smartcom EZ communications 


faster yet didnt cost an arm and a leg? software. Plus special offer coupons good for 
That's precisely what the new V32 OPTIMA™96 software upgrades and on-line connections. 

is all about. , All of this for a remarkably low price. 
It delivers 9600 bps connections and up to Anything else on your mind? If so, please call 


38,400 bps throughput. It features V42 error- us at 1-800-635-1225 for our fully detailed 
control, V42bis data compression, and it com- OPTIMA 96 brochure. 


patible with MNP levels 2 through 5. MR TeRinolny hae he coniciten 3) 4 
The OPTIMA 96 has all of the features you world ‘altna More than ever CJ Haye 


Introducing the modem 
that knows where your head is at. 


gine 


ms 
s 
s 
3 
s 
oat 


© 1991 Hayes Microcomputer Prod 


64/128 VIEW 


Most software works as 
advertised, but some programs do their 


jobs with elegance. 
Tom Netsel 


ecently, Larry Cotton, 
in his “Beginner BA- 
SIC” column, offered a 
two-part series on mak- 
ing programs user-friendly. 
He discussed ways pro- 
grams could be designed 
so computer novices could 
enter data without crashing 
the program, entering inva- 
lid characters, or becoming 
confused. That's quite a pro- 
gramming challenge. 

It reminded me of a pro- 
gram that was the basis of a 
computer course | took in col- 
lege in 1985. The course 
used a newly released inte- 
grated PC program that con- 
tained a word processor, 
spreadsheet, and database 
management system. 

The program wasn't bad. 
It was reasonably priced, 
the word processor was 
great, and | still use the 
spreadsheet. The database, 
however, was something 
else entirely. Does the term 
user-hostile ring a bell? 

Let's say you have a data- 
base called PEOPLE that 
consists of a list of friends 
and relatives and their ages. 
You also have a field called 
Holiday. This field has a Yin 
it if you send the person a 
card on holidays and an Nif 
you don't send one. 

Now, let's say you want to 
find all the people on your 
list who get cards and who 
are older than 20 years old. 
With this program, you had 
to go into Edit mode and en- 
ter PEOPLE,HOLIDAY="Y' 
AND AGE>20,NAME. 

Any BASIC programmer 
can see the logic behind 
this command, but you had 
to know the syntax. You got 
no prompts, and the punctua- 
tion marks were tricky. 

Now let's talk user-friend- 
ly. In that same year Brader- 


bund released Bank Street 
Filer for the 64. 

With its prompts, help 
screens, and menus, this da- 
tabase program is a snap to 
use. To conduct a test, | cre- 
ated a similar database on 
my 64. | then requested a re- 
port listing all the people 
who got cards and who 
were over 20 years old. 

Filer walks you through 
the process using prompts 
that are in English. To pre- 
pare a report, the program 
starts Print every record 
where and presents your 
fields: Name, Holiday, Age. 
| selected Holiday. 

The program then asks 
Is, Is Not, Is Before, Is After, 
Starts With, Ends With, or 
Contains? | selected Is. The 
next prompt asks /s What? | 
entered Y for Yes. 

Filer then asks Stop, And, 
or Or? Since | had more con- 
ditions, | selected And. The 
program then listed my 
fields for further selection. 
This time | selected Age, 
which is a number. 

The next prompt offers 
these choices for numbers: 
Is Equal To, Is Not Equal To, 
Is Less Than, Is Greater 
Than, Is Zero, Is Not Zero. | 
selected Is Greater Than 
and typed 20 at the prompt. 

At the top of the screen, 
my search equation was pre- 
sented in English: Print eve- 
ry record where the Holiday 
field is Y and the Age field is 
greater than 20. The pro- 
gram then sorts and prints 
the report in a variety of pos- 
sible formats to screen, 
disk, or printer. It's simple, 
elegant, and friendly. 

When anyone mentions a 
user-friendly program, | 
give Bank Street Filer a 
plug. Too bad more program- 
mers haven't copied it. O 


GAZETTE 


64/128 VIEW G-1 


Why can't more programs be as user-friendly as 
Bank Street Filer? 
By Tom Netsel. 


LASER PRINTING ON A BUDGET G-2 


Here are some tips on printing GEOS documents 
on a laser printer, even if you don’t own one. 
By Carlos Amezaga. 


REVIEWS G-8 


The Untouchables, B.A.T., 
Metal Gear, and gateWay 64. 


FEEDBACK 


Questions, answers, and comments. 


MACHINE LANGUAGE 


Working with fixed point numerals in 
machine language can be simple. 
By Jim Butterfield. 


GEOS 


Even fans find geoWrite tough to love, 
but here are some tips that can help. 
By Steve Vander Ark. 


D’IVERSIONS 


Home movies are out; news is in! 
By Fred D'lgnazio. 


BEGINNER BASIC 


Create havoc with random numbers. 
By Larry Cotton. 


PROGRAMMER’S PAGE 


Old ROMs and rising flood waters. 
By Randy Thompson. 


PROGRAMS 


Ramdrive 64 

1-3-5-7 

Sport Card Collector 
File Copier 

Puzzle Mania 


G-20 


G-22 


G-23 


G-24 


G-25 
G-28 
G-31 
G-35 
G-38 


NOVEMBER 1991 COMPUTE G-1 


Here are some tips 
on how to print GEOS documents 
on a laser printer— 
without owning a laser printer. 


- LASER PRINTING 
ON A 
BUDGET 


BY CARLOS AMEZAGA 


Desktop publishing really took off when the laser printer ah : ; 
This advance in printer technology took desktop - aw 8 
publishing to new heights, and Macintosh, IBM, and anaes & 
owners were quick to take full advantage 
of it. But 64 and 128 owners haven't moved as fast. | 
Many owners of 8-bit Commodores have been 
slow to embrace laser technology because they are reluctant to 
spend ten times the price of their computer for a 
printer. What many of them don't know is that they can take 
advantage. of laser printing without going to the » 
expense of owning: a-laser printer. This article will explain how. 


Setting Standards 
To understand what laser printing is all about, you 
must remember that when these printers first appeared onthe 
market, they didn’t follow any standard. This led to the 
development of a page description language called PostScript. 
This language instruction set tells the laser printer how 
your image should be printed, what it should look like, and 
where it should be'on the paper. PostScript 
soon became the standard for most laser printers. 


Biers 


— « NOVEMBER 1997 COMPUTE = G3 


That was great, especially if you were 
a Commodore GEOS user. When 
GEOS first came out, Berkeley Soft- 
works provided drivers and fonts so 
you could buy a laser printer, connect 
it to your 64, and print. Berkeley pub- 
lished geoLaser and special fonts with 
geoWrite. \t also released geoPubLas- 
er and special fonts with geoPublish. 


Lasers on a Budget 

The technology and software are avail- 
able for 8-bit Commodores, but 
there's still one main hurdle blocking 
the path to laser printing. That problem 
is price. Laser printers are expensive, 
and the typical 64 owner does not 
have that kind of money to pay for a 
printer. But even on a budget, there's 
still a way to laser printouts. 

The solution was provided by Jim Col- 
lette, known as GeoRep Jim on Quan- 
tumLink, the Commodore-specific on- 
line service. Jim has contributed many 
programs, both public domain and 
shareware, as well as his own commer- 
cial releases. One of his shareware re- 
leases is called PS.Patch 2.0 and can 
be found on Q-Link. Rather than being 
a stand-alone program, this product is 
a patch, a program that alters another 
program. It modifies either geoLaser or 
geoPubLaser so that instead of send- 
ing the required PostScript information 
to a laser printer, it prints the informa- 
tion to a floppy disk. 


Do Me a Favor? 

With this information on disk, you no 
longer need to own a laser printer. If 
you have a friend who has a PC that's 
hooked to a PostScript laser printer, all 
you have to do is transfer the Post- 
Script file from your Commodore disk 
to an IBM-formatted disk. You can do 
this with either Big Blue Reader, sold 
commercially by SOGWAP Software, or 
Xlink, which is 128-specific public do- 
main software. 

In order to read or write to an IBM- 
formatted disk, however, you need a 
1571 or 1581 disk drive. These are the 
only two Commodore disk drives that 
can accomplish such a task. If you 
don't have either of these drives, 
there's still a way around this problem. 
If you have a modem, you can transfer 
the Commodore file to any other 
modem-equipped PC. 


Check the Yellow Pages 

If you're not fortunate enough to have 
a friend with a laser printer, look in the 
yellow pages under Desktop Publish- 
ing or Printing. In my area there are 
about four dozen publishers who have 
IBM equipment at their shops. Some 
even have a 24-hour bulletin board so 
you can upload your PostScript file for 


G-4 COMPUTE NOVEMBER 1991 


printing. They do charge a reasonable 
fee, but it all depends on the number 
of pages you're printing out. 


How to Do It 

Now that you know it can be done, it's 
time | told you how to create a Post- 
Script file with GEOS. First, we want to 
check a couple of applications to 
make sure they are up-to-date. To do 
this, select the following files from the 
Desktop, and then select the INFO op- 
tion from the FILE entry on the top 
menu. Now make sure that geoPublish 
and the two laser printing applications, 
geoPubLaser and geoLaser, have the 
following dates stamped in their info 
boxes. Earlier versions have problems. 


geoPublish 1.0 10/4/88 

geoPubLaser 1.8 8/22/88 

geoLaser 2.1 3/10/88 

| haven't heard of any problems with 
geoLaser and different dates, but ver- 
sion 2.1 seems to be the most current. 


Laser printers 
are expensive, but 
there’s still 
a way 64 owners on 
a budget can 
get laser printouts. 


If you don’t have this latest version 
Of geoPublish, you can obtain the 
most current version of this two-disk pro- 
gram by sending in your disk to 
Berkeley Softworks, now renamed 
GeoWorks, and asking for the updated 
geoPublish. You can obtain geoLaser 
or geoPubLaser, the 11 laser fonts, 
and the patch program PS.Patch 2.0 
from Q-Link’s software libraries. 

Once you obtain PS.Patch 2.0, put it 
on the same disk as either geoLaser or 
geoPubLaser. Execute the patch, and 
you'll get a menu with the option to mod- 
ify either of the laser drivers. Select the 
laser driver you wish to modify, and fol- 
low the prompts. Once Patch has fin- 
ished running, you'll find a new version 
of the selected driver on your disk. 

Once you have these files patched, 
all you have to do is load the proper la- 
ser printing application. If you created 
your document with geoWrite, then you 
should use the patched version of 
geoLaser. If you created your document 
with geoPublish, then you must use the 


patched version of geoPubLaser. 

You can use any of the 11 laser 
fonts within your document. By using 
these fonts, you'll achieve print compa- 
rable to that used in textbooks and mag- 
azines. You can also use your regular 
GEOS fonts, but they'll look jagged in 
most cases. You can, however, have 
your GEOS fonts and graphics 
smoothed as an option to improve 
their appearance when printed. 


Convert to PostScript 

Making the PostScript file takes a few 
minutes. The longer your document is, 
the longer it'll take to create the Post- 
Script file. You'll also need plenty of 
free disk space. PostScript files can be 
very big, possibly taking up your entire 
1571 disk or half your 1581 disk, de- 
pending on how complex the docu- 
ment is. Since PostScript is a struc- 
tured language and has about 250 
operators, geoLaser and geoPubLaser 
have the task of creating another pro- 
gram with this language that the laser 
printer will understand. 

Once you've created your PostScript 
file and moved it to a PC or Macintosh 
(which can read IBM disks) by either 
disk or modem, it's time to print. 
Dump this file directly to the printer. Do 
not—I| repeat—do not load your file in- 
to a word processor! The PostScript 
file would be corrupted, and it proba- 
bly wouldn't fit in memory anyway. 


Boot a Terminal Program 

If you're using an IBM or PC clone, use 
a terminal program to send the Post- 
Script file to the printer. This will estab- 
lish a two-way communication channel 
in case the laser printer encounters 
any PostScript command errors. If 
such errors occur, they'll be printed on 
the terminal screen. 

A terminal program such as 
Proterm, Comterm, Procomm, or 
Freeterm may be used on any IBM or 
PC clone. Set your communication par- 
ameters as follows: 9600 baud, 8 Bits, 
1 Stop, No parity, Half-duplex, and Xon/ 
Xoff activated. 

Do not under any circumstances 
use either of the following commands 
from DOS: 


COPY A:filename LPT1 
or 
COPY A:filename COM1 


This doesn’t establish a two-way envi- 
ronment and is therefore undesirable. 


Dump from a Mac 
If you have access to a Macintosh that 
can read IBM-formatted disks, you 


WE CAN RECONFIGURE ANY OF OUR COMPUTER PACKAGES TO YOUR 
SPECIFICATIONS. CALL FOR DETAILS! 


WE INVITE CORPORATE & EDUCATIONAL CUSTOMERS - DISCOUNTS FOR 
QUANTITY ORDERS - RUSH, 2ND DAY & NEXT DAY AIR SERVICE AVAILABLE! 


[MJOjN/T/GJ/Oj/MJE|R| Yj G [RIAJN| T= 


Oe Ei 


AMIGA 
San 


C=Commodore 


1084 
MONITOR 
Snecial Purchase Blowouts! 
Commodore?’ 


C=zCommodore: 


1802 
413" COLOR COMPOSITE 
MONITOR w/SOUND 
(RECONDITIONED) 


=e COL. THERMG 


RINTER icLupes 
COMMODORE INTERFACE 


SPECIALI 
5 Free Games 
with Purchase! 


ME&GNAVOX 
13 COLO 
COMPOSITE,RGB 


MONITOR w/SOUND 
(RECONDITIONED) 


EXCELLERATOR PLUS 
FSD Il DISK DRIVE 


SAVE BIG $$$ 


WHEN YOU BUY ONE OF OUR ALL IN ONE PACK 
64C COMMODORE COMMODORE 
TEST PILOT 646 64C 
PACKAGE | COMPLETE COLOR 


“commomereesc | PACKAGE | PACKAGE COMMODORE 64/128 SOFTWARE 


+ Commodore 1541 


Disk Drive + Commodore 64C | » Commodore 64C FOP HIF LIST! 
seoysticns ink Computer Computer Big Blue Reador..n..nunn$91,00 Maverickv5.0... $29.00 Secret Sier Blados.. 
Software + Commodore 1541] »Commodore 1541 Gamen Mure : ne ML Baseball Eshan. 
Disk Drive Disk Drive Carmen World. 


5 SOFTWARE ; : , 
PACKAGES INCLUDED:| ° 80 Column Printer] +80 Column Printer  Beath Krighs Kryim. 


« Advanced Tactical Fightor +12 Monitor + Color Monitor 
+ Infitrator Il + Harrier + Quantum Link + Quantum Link 
+ Crazy Cars + Tomohawk Software Software 


es b—Sen} 
PANASONIC 


STAR 
5 ..$189.00 GX-200.. 


PERIPHERALS FOR COMMODORE 


COMMODORE 154111 COMMODORE 1571 
DISK DRIVE DISK DRIVE 

1750 Clone RAM Expansi $189 Super Snapshot 5.0.... 
Cardco G-Wiz_Interfac ey 95. Xetec S. Graphix Jr. Interface 


Commodore 1660 Mo 
64, 64C Power Supply. 29.95 Xetec S. Graphix Sr. Interface. 


OTHER ACCESSORIES FOR YOUR COMMODORE COMPUTER AVAILABLE 


Circle Reader Service Number 187: 


have the option of dumping the file 
with a font utility, a program designed 
to send a PostScript file to a laser print- 
er. There are two that | know of. One is 
called SendPS, and the other is Font 
Downloader from Adobe. Font Down- 
loader can be found on font disks that 
Adobe distributes commercially. 
SendPS is public domain and can be 
found on GEnie’s Desktop Publishing 
RoundTable, Either of these will do the 
job for you, You can also use a termi- 
nal program on the Mac with the same 
parameters described earlier. You also 
have the option of using the Macintosh 
version of PageMaker sold by Aldus. 

With an ingenious program by Rog- 
er Eller (RogerE5 on Q-Link), we can al- 
so load this file into PageMaker as an 
Encapsulated PostScript File (EPF), 
which is an object oriented graphic 
file rather than a text file. He discov- 
ered that if you add a short list of com- 
mands at the beginning of the Post- 
Script file, PageMaker will recognize 
the file as an EPF. By doing so, you 
can create some stunning effects with 
commands such as Place, Resize, Con- 
dense, and Stretch. 

You'll need to play with the Post- 
Script file a bit first. You'll need the 
GEOS Text Manager, a text scrap 
called EPS Insert Text, and Wrong Is 
Write. Wrong Is Write is an application 


which will turn your PostScript file into 
a geoWrite document and back again. 
It can be found on Q-Link, and a more 
advanced version is sold by Storm Sys- 
tems. EPS Insert Text can also be 
found in Q-Link's GEOS library. 

What you do is convert this true AS- 
Cll PostScript file to geoWrite. Once it's 
converted, paste the short text scrap at 
the beginning of the document; then 
convert the file back to true ASCII us- 
ing Wrong Is Write. You can then load 
this modified PostScript file into the 
Mac version of PageMaker and create 
your own effects. You can then print di- 
rectly from PageMaker instead of dump- 
ing the PostScript file to a printer. 

The world of laser printers is within 
reach of the average 64 or 128 user. 
Documents generated with geoPublish 
and geoWrite are comparable to 
those created on high-end systems 
that use gigabytes of memory. With a 
little time and effort, we can get high- 
end results on a low-end budget. 


Carlos Amezaga invites your com- 
ments or questions. His address is 
1330 SW 97th Avenue, Miami, Florida 
33174. He can also be reached 
online. He is The Smee on Quantum- 
Link, C.Amezaga on GEnie, and Carlos 
Amezaga 135/10 on Fidonet. a 


Gazette is looking for 
utilities, games, 
applications, 
educational programs, 
and tutorial articles. If 
you've created a 
program that you think 
other readers might 
enjoy or find useful, 
send it on disk to 


Gazette Submissions 
Reviewer 

COMPUTE Publications 
324 W. Wendover Ave. 
Ste. 200 

Greensboro, NC 27408 


Please enclose an 
SASE if you wish to 
have the materials 
returned. 


— — 
uo ee 
— _—v 

0) 66 


UTE ISN'T FAIR ~~~ 
STATE OF THE ART, AND SOME COD6GER. 


WITH A 1948 Ph.D. Is IN CHARGE / 


We'RE 


we, 


We 


a 


SCHWADLun 


G-6 COMPUTE NOVEMBER 1991 


FIND US ON Q-LINK 


FREE 


COMPUTE of NET 


m About COMPUTE/NET 
@ Product Ordering 

@ Feedback Board 

m@ Coming Events 
@ Monthly Contest 


Welcome to the grand opening of _ 
COMPUTE/NET. A wealth of 
information awaits you. Back issues 
of COMPUTE, hard-to-find computer 
books, super software, dazzling — 
pictures, challenging games, prizes, 
a complete bulletin board, and 
much more are here. You can even 
talk to the editors and authors of the 
magazine. Lots of surprises are 
planned, so keep your eyes on us. 


Q-LINK STARTER KIT. 


FREE TIME. ORDER TODAY! — 


Just call our toll-free number or 
return the coupon, and we'll send 
you the Q-Link Starter Kit and 
software free, waive your first 
month's membership fee, and credit 
you with one hour of "Plus" time to 
try the service. Your $9.95 monthly 
fee gives you unlimited access to 
all of our "Basic" services online, 
including a searchable encyclope- 
dia, AND one free*hour of "Plus" 
services. After your free hour, 
you'll pay only $4.80/hour-just 8 
cents per minute—for additional use 
of the service, a 


Q-Link is a registered service mark of 
Quantum Computer Services, Inc. 


*Long-distance charges may apply. 
Surcharges apply if you are a resident of 
Alaska, Hawaii, or Canada. Allow four to 
six weeks for delivery. 


O YES! Send me my FREE Q-Link software, waive my 
first month's membership fee, and credit me with one 
FREE* hour of Plus time to explore the service and rey 
COMPUTE/NET. 

Name 
Address. 
City 
Home Phone 


State Zip 


MAIL TO 


: Q-Link 


Use of Q-Link requires a VISA, 8619 Westwood Center Drive 
MasterCard, or checking account. Vienna, Virginia 22182-9897 


REVIEWS 


THE 
UNTOUCHABLES 


Chicago, 1931. The dark 
streets of this city are not a 
safe place to be! Al Capone 
and the Mob have invaded 
this area for their own unscru- 
pulous and illegal dealings. 
It's up to you to free this city 
from their control. 

Ocean of America’s Un- 
touchables (distributed by 
Electronic Arts) puts you in 
control of Elliot Ness and his 
team of crimebusters. Get 
plenty of rest now, because 
you'll need your strength and 
your mission won't be easy! 

Like the popular movie of 
the same name, this arcade 
game is full of action and dan- 
ger. You must complete six 
very difficult levels to win 
this game. These levels are 
called Warehouse, Bridge, Al- 
leys, Train Station, Hostage, 
and Rooftop. At each level, 
you must accumulate points 
and evidence. This is not 
easy. For example, at the 
Warehouse level, gangsters 
are trying to kill you as you 
search for the Mob's book- 
keepers. You want their 
books, but they're armed 
and not about to cooperate. 

Time is another factor that 
can affect your success. 
Each level must be complet- 
ed in a certain amount of 
time. Using the Warehouse 
level once again as an exam- 
ple, once you kill a bookkeep- 
er or make him drop his evi- 
dence, you have only a short 
amount of time to pick it up. 

As the game begins, you 
are at the bottom level of the 
Warehouse. You must en- 
gage in a surprise attack on 
Al Capone's bootlegging op- 
eration to get the necessary 
damaging evidence from his 
bookkeepers’ ledger pages. 
An arrow displayed at the 
top of the screen tells which 
direction to move to find 
G-8 COMPUTE NOVEMBER 1991 


these bookkeepers with the 
evidence. But watch out! 
Gangsters move in quickly to 
stop you as you chase these 
fast-moving bookkeepers. 


You get points for killing 
gangsters. You can also ac- 
quire additional weapons 
and ammunition or extra en- 
ergy in some cases. Howev- 
er, cornering the bookkeep- 
ers is more important, since 
you collect a certain percent- 
age of the necessary evi- 
dence from each one. If you 
accumulate 100 percent of 
the evidence before the time 
limit expires, you move to the 
next level, the Bridge. 

At the Bridge, Capone's 
men are attempting to cross 
the Canadian border to safe- 
ty and must be stopped. 
Again, you must kill the gang- 
sters to collect the neces- 
sary evidence. At this level, 
you should probably select 
a different Untouchable char- 
acter, since your current one 
is getting weak. 

In the next stage, the Al- 
leys, you must collar Ca- 
pone’s accountant with the 
evidence before he skips 
town on a fast train. 

The fourth level, the Train 


Station, has your Untoucha- 
ble character guiding a run- 
away baby carriage away 
from gunfire and dangerous 
obstacles. If innocent civil- 


LL 


Help Elliot Ness get the goods on Al Capone and his Mob. 


ians are accidentally shot, 
your character loses energy. 
At the fifth level, only one 
of Capone's men is left, and 
he decides to take someone 
hostage. React quickly, 
since you only have five sec- 
onds to kill the gangster. 
The final level is the 
Rooftop. With all the evi- 
dence you have collected 
against Capone, he has 
been indicted. However, you 
must now dispose of Ca- 
pone's hitman. Manage this, 
and you'll win the game. 
The Untouchables is easy 
to understand. There's no 
problem figuring out what 
moves to make and how to 
play it. However, | did find it 
very difficult to get to the high- 
er levels of the game. With 
practice, my score gradually 
improved. This game definite- 
ly takes a lot of practice to 
reach the upper levels. Learn- 
ing the detailed layout of 
each level can help, but | 
think the average player will 
have problems just getting to 


the second or third level. 

The documentation for 
this game is brief, but it pro- 
vides you with all the informa- 
tion you need to begin play- 
ing. Instructions are straight- 
forward and easy to compre- 
hend, Each level of play is de- 
scribed in enough detail to 
help you understand what 
you will be up against. This 
documentation also includes 
some useful tips on playing. 
The game's main idea is not 
that original; it's simply good 
guys versus bad guys. How- 
ever, | liked the challenge in- 
volved in defending myself 
against the gangsters while 
searching for the evidence, 
as opposed to just worrying 
about being shot. 

The Untouchables also 
makes good use of the 64's 
graphics and sound capabil- 
ities. Graphics were dis- 
played on the screen in 
much detail. The back- 
ground music was pleasant 
and set the mood for action. 

This game is entertaining, 
and its level of difficulty only 
makes it more of a challenge 
to play. So, if you like a real 
challenge, this game will 
give you hours of enjoyment 
as you visit Al Capone's Chi- 
cago of the 1930s. 

Chicago, 1991. Sixty 
years have gone by, and the 
streets are much safer now. 
Al Capone's reign of terror is 
but a distant, unpleasant 
memory. Unfortunately, Elliot 
Ness and his brave heroes 
are also relegated to the 
past, but with your 64, you 
can go back to the era of the 
Untouchables and relive 
their fight against crime. 
CHRIS STAWASZ 


Commodore 64 and 128—$14.95 


OCEAN OF AMERICA 
Distributed by Electronic Arts 
1450 Fashion Island Blvd. 

San Mateo, CA 94404 

(415) 571-7171 

Circle Reader Service Number 311 


PUMP UP 


YOUR PRODUCTIVITY! 


Harness the potential of your, The Gazette Graphics 


64 and 128 with these ne 


Do it all with Commodore 
powerful programs. 


graphics! 
Here's what's on it- 
Get more work out of your 64 and 128 Seen DERE aS 
with these two new disk products from 128 Graphics Compactor, 
COMPUTE's Gazette — the 1992 
Best of Gazette Utilities, and 
the Gazette Graphics Grab 


64 Animator, VDC Graphics, 
Dissolve 128, Super Slideshow, 
128 Animator, 1526 PrintScreen, 
Supratechnic, Medium-Resolution 


Bag! Graphics, Screen Maker, GAS!64— 

The 1992 Best of Special Edition, GAS!128—-Special 
opens Edition. 

Gazette Utilities us 

Seize control of your operating 

system and your world! ORDER 


Here's what's on it-MetaBASIC 64, 
MetaBASIC 128, Quick, SprintI, 
Ultrafont+, RAMDisk 64, RAMDisk 128, 
BASSEM, SciCalc 64, List Formatter, 
MegaSqueeze. 


THEM 
TODAY! 


Extend Your Computer Power With This Powerful Software! 


SSS 


A Check or Money Order _ MasterCard _ VISA 
| want to pump up my productivity! Please send me the 
@ disks checked below at $11.95 each. Credit Card No. Exp. Date 


The 1992 Best of Gazette Utilities Sonate (Required) 


_—— The Gazette Graphics Grab Bag Daytime Telephone No. 


_—— Subtotal Nano 
___ Sales Tax (Residents of NC and NY please add appropriate sales tax for your 
area. Canadian orders, add 7% goods and services tax.) Address 
| ___ Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City | 
| airmail per disk.) 
State/Province ZIP/Postal Code 


__ Total Enclosed 


Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200, 
MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408. 


REVIEWS 


B.A.T. 


If you're looking for a sci- 
ence fiction role-playing 
game that takes the genre to 
its limits of creativity, original- 
ity, and fun, then check out 
B.A.T. I've never played a 
stranger sci-fi game. 

The designers of B.A.T. 
worked hard to produce a 
game that’s unique in every 
aspect. They succeeded 
and went beyond this goal to 
create a game that’s as 
much fun to explore as it is 
to solve. Although B.A.T. 
takes many hours to finish, 
it's also fun just to explore 
the game's more than 1000 
locations that vary from bars 
and offices to apartments 
and caves. B.A.T. comes 
from UBI Soft in France, and 
its European feel contributes 
a great deal to the game's ef- 
fect on its players. 

First of all, B.A.T. stands 
for the Bureau of Astral Trou- 
bleshooters, a group of galac- 
tic police officers whose job 
is to investigate problems 
and maintain order. Just 
don’t make the mistake of pro- 
nouncing the acronym bat. 

Your character is a new 
agent brought into the B.A.T. 
organization to capture Vran- 
gor, a dangerous scientist, 
and his sidekick Merigo. 
Both of them recently broke 
out of prison. The two troub- 
lemakers have threatened to 
destroy the large city of Ter- 
rapolis on the planet Selenia 
if their demands are not met. 
Although you have to work 
fast to find and neutralize 
Vrangor and Merigo, the sto- 
ry moves you along so you 
can perform crucial actions 
at the right times. There is 
plenty of time to explore Se- 
lenia, and it's important to 
look for clues and to familiar- 
ize yourself with the game. 

The first step in B.A.T. is to 
create a character. Your per- 
sona can have many charac- 


G-10 


teristics and abilities to accu- 
rately represent you in the 
game. The development of 
characters in B.A.T. is one of 
the most comprehensive 
and complete systems in the 
RPG field. Your character pos- 
sesses various competen- 
cies and aptitudes, some of 
which are modifiable during 
character creation. 


E 
IATELIGH SIN 


B.A.T. uses menus and 
icons for gameplay. You can 
select the main menu with 
the cursor to access the nec- 
essary commands and also 
click directly on the screen 
to gain information about ob- 
jects, talk with characters, 
and use exits. The interface 
is dynamic and combines 
the menu commands and 


+ nnn 


CHRRISN +111 


PERCEPT +iiiiiaiiin ss 


MITALITY +l 


IREFLE 


& 


SSH 


Menus and windows in B.A.T. simplify gameplay and help you 
explore more than 1000 different locations. 


Six areas of competence 
which may not be modified 
are life percentage remain- 
ing, level of knowledge, ex- 
perience, calorie require- 
ments, hydration require- 
ments, and credits (money) 
The six modifiable character- 
istics are force, intelligence, 
charisma, perception, vitali- 
ty, and reflexes. Various ap- 
titudes include such skills as 
climbing, vigilance, and psy- 
chology. As you can see, a 
character in B.A.T. can be 
well developed. 

There are enough places 
to visit and enough mini- 
quests to solve in B.A.T. so 
that all of your character's 
competences and aptitudes 
gain real meaning at one 
time or another. Another 
nice touch is the chart that 
visually represents these char- 
acteristics and abilities on 


the character screen. 


COMPUTE NOVEMBER 1991 


clickable icons tomake game- 
play effortless. The manual ex- 
plains all of the menu com- 
mands and subcommands 
and shows the menu levels 
in detail. There are only a few 
main commands, but they 
cover everything your charac- 
ter does in the game. 

Two other parts of the inter- 
face further confirm the 
uniqueness of B.A.T. These 
are B.O.B., a biodirectional 
organic bioputer, and the 
DRAG, a vehicle you use to 
travel around Selenia. 

B.O.B. is attached to your 
character's arm, and it per- 
forms several important func- 
tions. It can list your alter 
ego's characteristics and 
physical condition and can 
modify heart rate. Perhaps 
more important, B.O.B. can 
be programmed with a sim- 
ple command language to 
perform some functions auto- 


matically, such as alerting 
you when Vrangor or anoth- 
er enemy is near or automat- 
ically translating languages 
of aliens during conversa- 
tions. B.O.B. is very useful in 
B.A.T. and further develops 
the game universe. 

The DRAG is a simple fly- 
ing machine that adds 3-D 
flight simulation to B.A.T’s al- 
ready complete interface. 
It's tough to fly, but it does car- 
ry some formidable weapon- 
ry. You need DRAG to reach 
certain locations in the 
game, and it expands your 
character's mobility. 

The graphics in B.A.T. are 
impressive. The locations 
are detailed and colorful, 
and you can access most ar- 
eas of the picture with the 
menu commands. When you 
enter small rooms or other lo- 
cations, B.A.T pops up a win- 
dow for that location rather 
than clearing the screen. 
This windowing trick main- 
tains itself because there are 
only a few windows on- 
screen at any time. This fea- 
ture provides the player with 
a partial view of previous lo- 
cations and simplifies visu- 
alization of the game world. 
The 3-D view from the DRAG 
ship works well on the 64. 
Movement is fluid, and the 
lying machine adds yet an- 
other level of fun to this 
game. B.A.T. is one of those 
gems that you might normal- 
y miss because it comes 
rom a small software compa- 
ny and has a strange name 
and box cover. The game pre- 
sents science fiction ina way 
hat any fan will devour. The 
variety of weapons, alien rac- 
es, locations, and objects 
populating the game adds 
the finishing touch of realism 
to this future world. 

B.A.T. lets you move at 
your own pace to explore the 
game world and enjoy all 
that it has to offer. You can 
continue to enjoy the game 


CONMNPUTE BOOKS 


GIANT WAREHOUSE 
CLEARANCE SALE 


Commodore 
Books 
as low as 


— First Book of Commodore 64 Games (37X) Mapping the Commodore 64 (0823) 
First Book of Commodore 64 (34X) © More Machine Language Games for the Commodore 64 (0947) 
Third Book of Commodore 64 (728) C) Machine Language for Beginners (116) 
All About the Commodore 64, V. 1 (040X) 40 Great Submarine Simulator Adventures (1722) 
Beginners Guide to Commodore 64 Sound (54X) 40 Great Flight Simulator Adventures (0224) 
Commodore 64/128 Power Basic (0998) 40 More Great Flight Simulator Adventures (0432) 
Commodore Collection (701) Flying on Instruments with Flight Simulator (0912) 
Creating Arcade Games on the Commodore 64 (361) Official Book of King’s Quest (1552) 


Machine Language Games for the Commodore 64 (0610) 


A. ___________. Total number of books ordered Enclosed is Check MC# VISA# 
B.___________ Total cost of books ordered: MC or VISA #__________ Expiration date 

1 book—$6 3 books—$15 5 books—$22 Signature 

2 books—$11 4 books—$19 6 books or more—$4 each ame 


C.__________ Shipping and Handling: Please add $1 per Address 
book US, $2 per book Canada, or $6 per book foreign 


City State Code 
D.__________ NY, NJ, NC orders please add appropriate Mail to: COMPUTE Books 
sales tax. Canadian orders add 7% Goods and Services Tax c/o CCC 
2500 McClellan Ave. 
Total Cost (B+C+D) Pennsauken, NJ 08109 


Please allow 4 to 6 weeks for delivery. 


' 
' 
t 
' 
' 
' 
' 
' 
' 
t 
1 
1 
1 
1 
' 
1 
' 
ij 
i) 
\ 
\ 
' 
' 
1 
1 
1 
i) 
f 
i) 
' 
1 
H 
1 
! 
1 

Please place a check next to the books you want. Complete the form below and mail entire coupon to the address below. | 
' 
' 
1 
' 
1 
i 
1 
\ 
\ 
' 
' 
1 
1 
1 
1 
1 
Hl 
1 
1 
1 
1 
1 
1 
' 
' 
' 
' 
1 
f 
1 

Offer expires December 31, 1991 or while supplies last. CLEAR H 
i 


i 
1 
' 
' 
' 
\ 
\) 
i 
\ 
\ 
\ 
\ 
\ 
H 
' 
i 
i 
' 
i 
i 
' 
' 
' 
1 
\ 
' 
' 
‘ 
' 
\ 
' 
1 
' 
1 
' 
\ 
H 
\ ‘ ‘ "i 
! Be sure to enclose a check or credit card information. 
' 
1 
f 
f 
i 
' 
' 
' 
' 
1 
' 
' 
i) 
' 
i 
' 
' 
I 
I 
I 
i 
i 
1 
1 
' 
' 
i 
' 
I 
I 
' 
1 
\ 


REVIEWS 


(Se Se eT 


even after you eliminate Vran- 
gor and Merigo. With its dy- 
namic environment, B.A.T. of- 
fers the sci-fi fan a world as 
detailed as a book and as vis- 
ual as a motion picture. 
RUSS CECCOLA 


Commodore 64 and 128—$39.95 


UBI SOFT 

Distributed by Electronic Arts 
1450 Fashion Island Blvd. 

San Mateo, CA 94404 

(415) 571-7171 

Circle Reader Service Number 312 


METAL GEAR 


Rockets, rations, handguns, 
oh my! Metal Gear from 
Konami has all this and 
more. This arcade/action 
game tosses you into the 
heat of combat as a one- 
man army sent to stop the in- 
sane Col. Vermon CatTaffy 
from taking over the world. 
Here's a chance to see if 
you've learned anything 
from all those Stallone and 
Schwarzenegger movies. 

CaTaffy has set up a vast 
compound in Outer Heaven, 
a small nation in Africa that 
houses his worst creation, 
the ultimate weapon—Metal 
Gear. As Solid Snake of the 
covert unit Fox Hound, you 
must infiltrate the enemy com- 
pound; collect weapons, am- 
munition, and other useful ob- 
jects; and then destroy Ca- 
Taffy's powerful device. 

Metal Gear is an average 
game that doesn't excel in 
any particular area, except 
perhaps fun. For its price, 
the game is an absolute 
steal and will keep you occu- 
pied for hours. 

Metal Gear's main screen 
has a three-quarter perspec- 
tive view through which your 
character moves. If you hit 
any key other than the 
space bar, a menu pops up 
providing you with various 
choices for the weapons 
screen, equipment screen, 


G-12 


or communications screen. 

The first two screens 
show pictures of all the weap- 
ons and objects that you pos- 
sess. Select one of them or 
a blank position with a cursor 
to exit the screen. The com- 
munications screen provides 
access to your transceiver, 
the means to communicate 


fisted variety in Metal Gear. 

The graphics are average 
for a 64 game. You can eas- 
ily distinguish the objects 
and floor layout, but the col- 
Ors On most screens are a 
drab green-blue. What Met- 
al Gear lacks in splashy 
graphics, however, it more 
than makes up for in music 


You must capture weapons and equipment if you hope to foil Col. 
Vermon CaTaffy’s evil plan to conquer the world. 


with home base for helpful 
hints and messages. The 
space bar switches between 
your fistand the current weap- 
on. The gameplay in Metal 
Gear is simple. You move 
around the buildings and out- 
door areas of the com- 
pound, trying to find better 
weapons and special ob- 
jects that'll get you past ob- 
stacles and traps. 

Konami includes a map of 
all game screens along with 
the well-written manual in the 
package. Although it felt like 
cheating to use the map, | 
found it very helpful in some 
places. Even with the map, 
Metal Gear is still challeng- 
ing and fun. Your heart will 
still be pounding by the time 
you get to the final level of 
buildings. With well over 100 
screens, there's a lot of two- 


COMPUTE NOVEMBER 1991 


and sound effects. The mu- 
sic is catchy and fast and con- 
tinues throughout the entire 
game. Sound effects are not 
as impressive, but the explo- 
sions and gunfire still get the 
point across. The music 
heightens the intensity in the 
game more than any other 
feature. 

One big problem with Met- 
al Gear is disk access. Eve- 
ry two or three screens and 
every time you go into a 
room or other enclosure, the 
screen blanks, and the drive 
starts spinning. This be- 
comes so annoying that | fre- 
quently take a break and 
leave the game. Other ar- 
cade games of the same com- 
plexity have tackled this prob- 
lem in the past. 

Metal Gear’s method of 
saving games is also awk- 


ward, The save-game fea- 
ture is very important for a 
game as large as this one. 
However, Metal Gear saves 
directly to the program disk, 
and | often had problems re- 
storing games. In the end, | 
had to start all over. For this 
reason, | decided to play Met- 
al Gear in one sitting rather 
than chance losing my 
place. It's always a bad idea 
to save games to the pro- 
gram disk. 

The variety of neat objects 
and compound rooms kept 
my interest in Metal Gear. 
From a bomb blast suit and 
compass to an oxygen tank 
and flashlight, you intelligent- 
ly use objects to conquer the 
terrain and traps. This ele- 
ment of Metal Gear elevates 
the game above the bevy of 
military shoot-'em-up clones 
to acategory reserved for bet- 
ter action games. 

One hint to keep you 
awash in ammunition is to 
take note of all places where 
you find bullets and such. 
When you leave the room 
and reenter, you'll find a 
fresh supply of ammo in the 
same place. | don't know if 
this is a glitch in the pro- 
gram, but it certainly keeps 
me from running out of both 
rations and ammo. 

If you like games with a lot 
of action and strategy to 
boot, Metal Gear is worth 
your money and efforts. The 
game lasts longer than its 
monetary equivalent in mov- 
ies and puts you in charge of 
all the action. 

Now go get CatTaffy be- 
fore he eliminates what's left 
of the world! And watch out 
for those land mines! 

RUSS CECCOLA 


Commodore 64 and 128—$14.95 


KONAMI 

900 Deerfield Pkwy. 

Buffalo Grove, IL 60089 

(708) 215-5100 

Circle Reader Service Number 313 


The Lowest Prices in the World on 
Commodore-Ready Printers! 


NX-1000C 


This is the Commodore-ready version of the NX-1000. You can just plug é SK@)) “es 


it in and start printing— no additional interfaces or cables are re 


Sea) Rew $299.00 THE COMPUTER PRINTER 
pres 


NX-1000C Printer 75060 


Black Ribbon for NX-1000C/NX-1000C 


ssaidxy 1ayndwoy XANAL 


Rainbow Color Printer 75471 $5.95 
Color Ribbon for NX-1000/NX-1000C 
2 Rainbow Color Printer 75485 $9.95 
Sug, Retail $379.00 Dust Cover for NX-1 000C/NX-1000C 
NX-1000C Rainbow Color Printer, Rainbow Color Printer 77789 $8.95 


Commodore Ready 75783 $219.95 


Don't miss out on the Lowest Prices on P * rer S + lies 
Amiga 500 and Accessories!! 
Call today to receive your FREE catalog 


with the greatest prices on the most 
popular hardware and software! 


Limited Quantities! 


TENEX MW 701-A. Conse! 
and 1.8A, this unit for the C64 featur 
fused system. Its new heat-sink design all 
operating temperatures inside the c 
warrant Sug. Retail $49.95 


TENEX MW 701-A 84513 $34.95 


‘ated at 5V 
double- 


TENEX MW 705. Perf This is 


j. Retail $69.95 


S 
TENEX MW 705 90686 $49.95 


P.O. Box 6578 rds Aarts eee 
South Bend, IN 46660 less than $19.99 $4.50 


(219) 259-7051 — FAX (219) 259-0300 $20.00-$39.99 sscsorin eee 
$40.00-$74.99 nr 6.75 


Computer Express We gladly accept mail orders! No Extra Fee For Charges! $75.00-598.99 ..... 78 
Circle Reader Service Number 170 $99,00-5149.99 . 18.75 
$150.00-$299.99 ae 9.75 


ORDER TODAY CALL 1-800-PROMPT-1 $300.00 & up. 


The 
- GRAPEVINE 
GROUP, , 
Inc. Cx 
COMMODORE UPGRADES 
i 


i 

‘© Assuper-heavy, repairable C-64 power supply with an 
output of 4.3 amps (that’s over 3x as powerful as the 
original). Featuring 1 year warranty, ext. fuse, schemat- 
ics, UL approved, This supply is used for multiple drives, 
additional memory and “packet.” Cost is $37.95 and 
includes as a bonus either the Commodore Diagnostician 
11 (valued @ $6.95) or the “programmers utility” plug-in 
Cartridge (valued @ $9.95). 
© 43 amp supply for C-128. Same features as 
above—$39.95 (includes bonus package) 

* © Our Biggest Seller © 1.8 amp repairable heavy duty 
supply for C-64, (Over 120,000 sold.) $24.95 


PRINTHEAD REFURBISHING 


Save time and money by having your tired, worn-out or 
damaged printhead refurbished or remanufactured at a 
fraction of the cost of anew one. Features low cost, 5 day 
service and 1 year warranty Call for prices/into. 


fey? COMMODORE DIAGNOSTICIAN II 


Originally developed as a software package, then 
£}’> converted to a readable format, the Diagnostician has 
become a fantastic seller. With over 38,000 sold 
worldwide, Diagnostician Il utilizes sophisticated cross 
reference grids to locate faulty components (ICs) on all 

C-64 and C1541 computers (C-128/64 mode). Save 

A money and downtime by promptly locating what chip(s) 
have failed. (No equipment of any kind needed.) 
Success rate from diagnosis-to-repair is 98%. Includes 
$6.95 
(Avail. for Amiga computers with 3%” disk at $14.95.) 


~ © COMPUTER SAVER: This C-64 Protection System 

‘Saves you costly repairs. Over 52% of 0-64 failures are 

caused by malfunctioning power supplies that destroy 

your computer. Installs in seconds between power 
supply & C-64. No soldering. 2 year warranty. An 
absolute must $17.95 

® 1750 COMMODORE 512K RAM EXPANDER CAR- 

“2 TRIDGE: Finally a sensational price that's hard to beat, 

Gives your 64/128 512K of memory. Comes with 

H diskette anda 4.3 amp. heavy duty power supply valued 

at $37.95 (a necessity) Factory new upgrade..$131.00 
1802 COMMODORE COMPOSITE COLOR 

MONITOR/SOUND: Refurbished, looks mint, includes 
all cables, 90 day warranty. A sensational bargain and 
perfect for C64/C128 $119.0 

‘© RIBBONS for MPS801/2/3, 1526, MX80/100..$2.95 


= 
+ EMERGENCY STARTUP KITS + 


Repair your own Commodroe/Amiga and save lots of 
money. Originally blister packaged for government PXs 
1] worldwide, these kits are now available to you (no 
FL: soldering). Kits for Amiga, C64 and drives. Each kit 
contains all chips, 4164 memories, schematic, Commo- 
dore Diagnostician Il, fuse, chip puller and diagnostic 
test diskette with 9 programs. .. Send for full details. 


All 901/225: 

C-128 ROMs Upgrd 

C-128 RAM Upgrd ... 

C-64 Keyboard (new). 
Commodore Cables ... 

Super Graphics Softwar 

Super Graphics Jr Software . 

300 Baud Modem/SW & cables 
CBM to IBM Printer Cable Adapter . 


@® 3 cHesTNUT ST., SUFFERN, NY 10901 Ml 
= Order Line 1-800-292-7445 
Fax 914-357-6243 Hours: 9-6 E.S.1. M-F 914-357-2424 


Circle Reader Service Number 128 


G-14. COMPUTE NOVEMBER 1991 


REVIEWS 


GATEWAY 64 


CMD says gateWay represents a “new 
philosophy with working with GEOS.” 
It's not kidding. 

Unlike some alternative deskTops, 
gateWay is a full GEOS replacement. 
The first thing you do is create a new 
boot disk customized to your setup. 
This includes a device driver for each 
of your disk drives, your printer, and 
your input device. Once you've done 
this, you boot up into a different world. 

Fortunately, this world runs by famil- 
iar GEOS rules. Gadgets on the screen 
are intuitively designed. Files are listed 
by name in a resizable window from 
which they can be selected and ma- 
neuvered with a mouse click. 

On one side of the filenames is a slid- 
er to move quickly through a directory. 
On the other side a “fuel gauge” shows 
how much of the disk is filled. If you 
need to be more exact, a click on the 
gauge opens a window of disk informa- 
tion. Keyboard shortcuts are pretty 
much the same as with GEOS. Gate- 
Way operates with exceptional smooth- 
ness; the entire directory is in memory 
at once, which speeds up scrolling. 

Basically, these changes are cosmet- 
ic, but there are some real improve- 
ments that make gateWay shine. The 
program supports three active drives at 
one time if you have a RAM expansion 
unit (REU). It also has a trash can sys- 
tem which allows you to toss unwanted 
files into an alternate menu, but if you 
change your mind, they can be reinstat- 
ed. But gateWay really jumps ahead of 
the deskTop and stock GEOS when it 
comes to supporting disk drives. It of- 
fers device drivers not only for 1500- 
series drives, but for CMD hard drives, 
all REUs (including geoRAM and the 
1700), and CMD's new RAMDrive and 
RAMLink systems. 

Also included is a RAM disk driver 
which takes advantage of any extra 
memory you may have installed. If you 
operate GEOS with anything more than 
a floppy drive or two, gateWay will fi- 
nally allow your system to run instead 
of walk. If you have at least 512K RAM 
on board, gateWay flies. Using a 64K 
area of RAM, the system offers a task- 
switching device called the Switcher. 
Press two keys, and you can jump in- 
stantly between two applications. This 


91 
Gazette 
Index 


Everything’s included! 
Features, games, reviews, 
education/home applications, 
programming, bugswatter, 
feedback, and columns! 


A superb interface includes pull-down 
menus, help screens, and keyboard, 
joystick, or mouse control. Features in- 
clude super-fast searching and sorting 
capabilities. An options screen allows 
you to choose text colors, drive num- 
ber, and input device. And there’s full 
documentation on disk. 


Choose from three modes of opera- 
tion—browse for quick scanning, view 
for detailed information and descrip- 
tions, and edit for adding items from 
upcoming issues—and print to any 
printer. There’s even a turbo-load op- 
tion for maximum disk-access speed. 


ORDER YOUR 
1991 GAZETTE 
INDEX TODAY! 


(MasterCard and Visa accepted on 
‘orders with subtotal over $20.) 


To order, send $7.95 per disk, the 
quantity of disks ordered, check or 
money order,” your name and com- 
plete street address: 


1991 Gazette Index 

324 West Wendover Avenue 
Suite 200 

Greensboro, NC 27408 


*Please add $2 shipping & handling ($5 foreign) for 
each disk (residents of NC, NJ, NY please add appli- 
cable sales tax; Canadian orders, add 7% goods and 
services tax). 

All payments must be in U.S. funds. Please allow 4 
weeks for delivery. 


is one of the most exciting fea- 
tures of gateWay, but it 
works only if you have a lot 
of extra RAM installed. 

Features like full three- 
drive support also require an 
REU. This program is de- 
signed for the user with an ex- 
panded system. If that's you, 
gateWay is a must. 

The more you have for 
gateWay to play with, the 
more powerful the system be- 
comes. You can modify your 
version of gateWay with a 
new file type called a Gate- 
way Document. This is essen- 
tially a separate but compat- 
ible program which can be 
integrated into gateWay to 
provide additional options. 
Several such documents are 
provided as examples. 

You'll find gateWay works 


well with various disk drive 
combinations. Without extra 
RAM, however, different mod- 
els can only communicate 
for basic file copying. 

GateWay cheerfully runs al- 
most any application or 
desk accessory written for 
GEOS. To ensure compatibil- 
ity, CMD has provided a driv- 
er which configures the REU 
to emulate the 1541/1571 
drive supported by GEOS it- 
self. The manual is well writ- 
ten, despite a few errors re- 
sulting from last-minute 
changes in the software. 
STEVE VANDER ARK 


Commodore 64—$29.95 


CREATIVE MICRO DESIGNS 
P.O. Box 646 

East Longmeadow, MA 01028 
(413) 525-0023 

Circle Reader Service Number 314 


Big Blue Reader 128/64 
Read & Write IBM PC Disks! 


Big Blue Reader 128/64 is a fast, easy-to-use, menu driven program 
for novice and expert alike. Transfers word processing, text, ASCII, and 
binary files between Commodore 64/128 and IBM PC compatible 360K 
5.25" and 720K 3.5" disks. Includes both C64 & C128 programs. 
Requires 1571 or 1581 Disk Drive. Does not work using 1541. 
BBR 128 Version 3.1 upgrade, $18+ original BBR disk. 


Big Blue Reader 128/64 only $44.95 


Bible Search 3.1 


The only Bible Study Program with: 
1. The Entire Ol lew on (4) 1541/71 or (2) 1581 disks. 
2. An Exhaustive English Concordance on (2) 1541/71 or (1) 1581 
disks; includes more than 700,000+ references. 

3. Incredible five (5) second look-up time, per/word, per/disk. 
4. Instant, automatic spell checking of more than 12,800 words. 
5. Boolean search options, including AND, OR & NOT logic. 
6. Search entire Bible in 5 seconds with 1581 or Hard Drive (v3.5). 
7. A Money Back Guarantee! 
Includes: Easy-to-use, C64 and C128 (40/80 column) programs; 
printer and disk output; users guide, disk case, and more. 

Available on (7) 1541/71, or (4) 1581 disks. (Demo disk $5) 


KJV $49.95 vevrrrdkde NIV $59.95 


*¥ Any questions? Call or write for more information. 

Now Available! AMIGA, Bible Search 

Order by check, money order, or COD, US Funds only. 

© FREE shipping in North America. No Credit Card orders. 
Foreign orders add $5 S/H ($12 whole Bible) 


SOGWAP Software = (219)724-3900 


115 Bellmont Road; Decatur, Indiana 46733 


disk! 


COMPUTE. 


Yes, save time and money! Subscribe to the Gazette 
Disk and get all the exciting, fun-filled Gazette pro- 
grams for your Commodore 64 or 128—already on 


Subscribe today, and month after month you'll 
get all the latest, most challenging, and fascinating 
programs published in the corresponding issue of 


New on the Gazette Disk/ In addition to the 
programs that appear in the magazine, you'll also 
get outstanding bonus programs. These programs, 
which are often too large to offer as type-ins, are 
available only on disk—they appear nowhere else. 
As another Gazette Disk extra, check out 


“Gazette Gallery,” where each month we present the 
very best in original 64 and 128 artwork. 

So don’t waste another moment. Subscribe to- 
day to COMPUTE'’s Gazette Disk and get 12 issues 
for only $49.95. You save almost 60% off the single- 
issue price. Clip or photocopy and mail completed 
coupon today. 

Individual issues of the disk are available for 
$9.95 (plus $2.00 shipping and handling) by writing 
to COMPUTE, 324 West Wendover Avenue, Suite 
200, Greensboro, North Carolina 27408. 


YES! Start my one-year subscription 
to COMPUTE’s Gazette Disk right away 
for only $49.95.* 


O Payment enclosed (check or money order) 


| 
| 
| 
| 
1 
I 
1 
| 
! OCharge OMasterCard O Visa 
1 Acct. No. Exp. Date 
; Signature 
(Required) 
4 Name 
| Address 
1 oy 
I State/ ZIP/ 
Province ____________ Postal Code 
4 Mail to COMPUTE's Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430 


"Residents of NC and NY, please add appropriate sales tax for area. Canadian 
orders, add 7% goods and services tax. Lie! 


G-16 


Questions and 
answers 

about plotting 
equations, 
computer uses, 
and more 


FEEDBACK 


SS a ee 


Plotting Equations 

Is it possible to get a hi-res 
program with a PLOT X,Y func- 
tion for the 64, which will rap- 
idly plot equations on x- and 


y-coordinate axes? 
FRANK GORDON 
ORONO, ME 


Here's a very simple routine in 
64 BASIC that will plot a sine 
function. The program asks 
for upper and lower bounds 
which are the amplitude of 
the sine wave. No matter 
what amplitude you select, 
the program will scale the 
sine wave to fill the screen. 
For brevity, finer points (such 
as adding values and tick 
marks to the axes, providing 
text on the screen, and error 
checking for infinities) have 
been omitted. 

When you run the program, 
it asks for a lower and upper 
bound. For a demonstration, 
enter -6 and 6 and then experi- 
ment with other values. Press 
any key when the program fin- 
ishes. Type RUN for another 
plot. A machine language rou- 
tine lets you go to bitmap 
mode (clearing the bitmap 
screen as it does so), return 
to text mode, and clear the 
bitmapped screen indepena- 
ently of modes. 


SH 166 
cx 119 


AD=49152 
READ XX:IF XX>=@ 
{SPACE}THEN POKE 
{SPACE}AD,XX:AD=A 
D+1:GOTO11¢ 
INPUT"WHAT IS THE 
LOWER BOUND";X1 
INPUT"WHAT IS THE 
UPPER BOUND";X2 
PRINT: PRINT" PLEAS 
E WAIT"; 
XX=X1:GOSUB 310:¥ 
1=¥¥:¥2=¥Y¥:RX=319 
/(X2-X1) 
FOR XX=Xl TO X2 S 
TEP 1/RX:PRINT"." 
72:GOSUB 318 
IF YY<¥l THEN Y1= 
YY 
IF YY>¥2 THEN Y¥2= 
YY 
NEXT: RY=199/(¥2-¥ 


JJ 126 
FC 136 
car 146 


DX 150 


KF 166 


MJ 176 


EQ 186 
AE 196 


1) 
SYS 49152:REM GO 
{SPACE}TO BITMAP 


CI 296 


COMPUTE NOVEMBER 1991 


SJ 


sc 


KF 


BB 


MB 
KS 
DB 


MH 
EX 


PE 


ER 


KS 


BD 


RX 


CG 


xQ 


DJ 


HC 


QB 


XX 


HB 


216 


220 


236 
246 


256 
266 
276 


286 
296 


368 


316 
326 


336 


346 


358 


366 


376 


386 


396 


496 


416 


426 


436 


446 


IF X1<@ AND X2>0 
{SPACE}THEN XX=-X 
1*RX:FOR YY=6 TO 
{SPACE}199:GOSUB 
{SPACE}296:NEXT 
IF ¥1<@ AND Y2>0 
{SPACE}THEN YY=-Y 
1*RY:FOR XX=8 TO 
{SPACE}319:GOSUB 
{SPACE}296:NEXT 
FOR X@=Xl TO X2 S 
TEP 1/RX 
XX=XG:GOSUB 316:X 
X= (XX-X1) *RX: YY=( 
YY-¥1) *RY:GOSUB29 
6 

NEXT 

GET AS$:IF AS="" 7 
HEN 268 

SYS 49152+3:REM R 
ECOVER THE TEXT S 
CREEN 

END 
Y¥G=199-YY:AD=8192 
+INT (YO/8) *320+IN 
7 (XX/8) *8+ (INT (YG 
) AND 7) 

POKE AD,PEEK(AD) 
{SPACE}OR (aT 
INT(XX) AND 7))): 
RETURN 
YY=SIN (XX) : RETURN 
DATA 76,13,192,76 
174,192,76,83,192 
16,7 

DATA @,6,32,108,1 
92,32,83,192,173, 
9,192 

DATA 141,32,208,1 
62,4,134,252,162, 
6,134,251 

DATA 166,0,173,16 
,192,18,18,16,16, 
13,9 

DATA 192,145,251, 
206,166,252,224,7 
1246,9,192 

DATA 6,268,243,23 
6,252,76,45,192,1 
46,11,192 

DATA 174,11,192),2 
24,232,208,228,96 
132,139,192 

DATA 169,147,32,2 
16,255,96,169,0,1 
33,251,169 

DATA 32,133,252,1 
69,0,168,145,251, 
206,268,251 

DATA 236,252,166, 
252,224,64,268,24 
3,96,173,17 

DATA 268,9,32,9,1 
6,141,17,208,173, 
22,268 

DATA 24,41,223,14 
1,22,268,173,24,2 
68,24,41 

DATA 249,9,8,141, 
24,208,96,173,17, 
268,24 


“ground (plot) color, 


GG 45@ DATA 41,223,141,1 
7,208,24,173,24,2 
98,24,41 

DATA 246,9,6,141, 
24,208,24,173,22, 
268,41 

DATA 239,141,22,2 
08,96,-99 


Lines 100 and 110 poke 
the machine code into the 
RAM window above BASIC. 
Lines 120 through 190 do scal- 
ing calculations based upon 
the starting and ending val- 
ues of the functional argu- 
ment. Line 200 sets the 
bitmap screen with SYS 
49152. 

Lines 210 and 220 draw 
the axes if they're part of the 
region being examined. 
Lines 230-250 construct the 
actual plot. Lines 260-280 
wait for a keypress, return to 
the text screen with a SYS 
49152+3, and .end the 
program. 

Lines 290 and 300 are a 
subroutine for setting the pix- 
els pointed to by variables XX 
and YY. Line 310 is the actu- 
al location of the function 
where YY receives the value 
of the function when XxX is 
used as the argument. 

The remainder is machine 
code data. If you want to 
clear the bitmap, type SYS 
49152+6. If you want to 
change the background col- 
or, type POKE 49152+9, 
backcolor. To change the fore- 
use 
POKE 49152+10, forecolor. 
Backcolor and forecolor repre- 
sent the numeric values (0- 
15) of the 64's 16 colors. Pick 
the combination you prefer. 

In addition to writing your 
own code, many programs 
are available which do graph- 
ing as a specialized talent or 
as an enhancement to BA- 
SIC. These can be obtained 
commercially, from the public 
domain, and as shareware. 
Check software stores, mail- 
order houses, user groups, on- 
line networks, and, of course, 
COMPUTE magazine. 


DE 468 


AC 476 


The Gazette 
Productivity 9 
Manager <> 


(Formerly PowerPak) 


Harness the productivity O 
>| 


power of your 64 or 128! 


Turn your Commodore into 

a powerful workhorse, keep track 
of finances, generate reports 
in a snap, manage your 
money in minutes— 

all with the new 1991 
Gazette Productivity 
Manager! Look at all 
your 64/128 Productivity 
Manager disk contains. 


ORDER YOUR 
1991 GAZETTE 
PRODUCTIVITY 
MANAGER 
TODAY! 


GemCalc 64 & 128— 

A complete, powerful, user- 

friendly spreadsheet with all 
the features you’d expect 
in an expensive commercial package 
(separate 64 and 128 versions are included). 
Most commands can be performed with a single keypress! 


Memo Card—Unleashes the power of a full-blown 
database without the fuss! Nothing’s easier—it’s a 
truly simple computerized address file. Just type in 
your data on any one of the index cards. Need to edit? 
Just use the standard Commodore editing keys. 
Finished? Just save the data to floppy. What could be 
easier? 


(MasterCard and Visa accepted on orders with subtotal over $20). 


OYES! Please send me —_ Productivity Manager disk(s) 
. A . ($14.95 each). 

Financial Planner—Answers all of those questions 
concerning interest; investments, and money manage- 
ment that financial analysts charge big bucks for! You 
can plan for your children’s education and know 
exactly how much it will cost and how much you need 
to save every month to reach your goal. Or, decide 
whether to buy or lease a new car. Use the compound 
interest and savings function to arrive at accurate Aare 


| 
| 
I 
1 ——— Subtotal 
| 
| 
| 
| 
| 
I 
| 
| 
5 é | 
estimates of how your money will work for you. 1 (Required) 
| 
| 
I 
I 
| 
| 
I 
| 
| 
| 
| 
1 


Sales Tax (Residents of NC and NY please add appro- 
priate sales tax for your area. Canadian orders, add 
7% goods and services tax.) 

_____ Shipping and Handling ($2.00 U.S. and Canada, $3.00 
surface mail, $5.00 airmail per disk.) 

Total Enclosed 

— Check or Money Order -— MasterCard — VISA 


Credit Card No. 


Compute the answer at the click of a key! peepee 


DON’T MISS OUT ON THIS 
POWERFUL WORKHORSE! 


Name 


Address 

City 

State/ uP/ 
Province Postal Code 


Send your order to Gazette 1991 Productivity Manager, 
324 W. Wendover Ave., Ste. 200, Greensboro, NC 27408. 


Where to find 
labels for 
photographic slides, 
more about 

the Digital Dialer, 
and thanks 

from a GEOS user 


G-18 


FEEDBACK 


Intelligent Use 

As newcomers to the world of 
computers, our family is using 
our 64 as a game machine. 
Can you direct us toward infor- 
mation on how to begin mak- 
ing intelligent use of our com- 
puter? Also, where can we 


get public domain programs? 
JANE TENBRINK 
SHELBY, M 


That's a tall order for this col- 
umn, but you might start by 
reading every back issue of 
Gazette you can get your 
hands on. We've always tried 
to provide a mixture of enter- 
tainment and productivity arti- 
cles in Gazette to help Com- 
modore users get the most 
from their machines. To get 
started, however, invest in the 
Big Three productivity soft- 
ware packages: a word proc- 
essor, a spreadsheet, and a 
database program. These 
will let you write practically 
any type of document that 
you might use around the 
home or office, keep financial 
records, and manage other da- 
ta, such as lists, club member- 
ships, inventories, collections, 
or what have you. 

A modem and terminal pro- 
gram are also good invest- 
ments as they can enable 
you to contact other comput- 
ers in your town or across the 
world. Electronic bulletin 
boards are great sources of 
public domain and shareware 
programs. You can also find 
PD software by looking 
through advertisements in the 
back of this magazine. There 
usually are a number of good 
sources listed. A user group 
is another excellent source. 
User group members will be 
glad to share their knowledge 
of computers with you and 
your family. 


Transparency Labels 

Can anyone tell me where to 
find some pin-fed label stock 
for photographic slides? I’ve 


COMPUTE NOVEMBER 1991 


seen some programs for print- 
ing them, but | can't seem to 
find any here in the San Fer- 


nando Valley. 
B. CHANDLER SHAW 
GRANADA HILLS, CA 


Check with any large office 
supply store in your area and 
ask for an Avery label, stock 
number 7207. These labels 
are 12x % inches, pin fed, 
but designed to stick to card- 
board rather than plastic 
slide mounts. You can call 
(800) 843-2347 for the name 
of the dealer nearest you or 
write to Avery-Dennison, 850 
East Algonquin Road, Schaum- 
burg, Illinois 60173. 


Dial This Number 

In “Beginner BASIC” (April 
1991) you featured ‘Your 64 
as a Digital Dialer.” The arti- 
cle failed to include the tone 
information for a touch-tone tel- 
ephone's * and # keys. Could 


you provide these, please? 
RICHARD C. KIRK 
NICEVILLE, FL 


The telephone dialer program 
omitted the star (*) and 
pound (#) signs and the abili- 
ty to insert a pause during the 
dialing process. To add 
these features to Larry Cot- 
ton’s program, the author sug- 
gests the following changes. 
Add these lines: 


25 DIMW(4,12) 
291 IFDS(N)="P”THEN FOR- 
DE=1T01000:NEXT 

292 IFDS(N)="*” THEN D$="10” 
293 IFDS(N)="0" THEN D$="'11” 
294 IFDS(N)="#” THEN D$="'12” 


Change lines 150-180 to 
read as follows: 


150 FORN=10T012: W(1,N)=77: 
W(2,N)=60: NEXT 

160 FORN=1T010STEP3: 
W(3,N)=121: W(4,N)=77; NEXT 

170 FORN=2T011STEP3: 
W(3,N)=156: W(4,N)=85: NEXT 

180 FORN=3T012STEP3: 
W(3,N)=165: W(4,N)=94: NEXT 


Delete line 190 in the original 
program listing. 

To test the program, you'll 
need to increase the length of 
tones in line 240 and change 
the first test data item in line 
390 to read as follows. 


240 Z=150 
390 DATA JIM, *O#-1P11 


Be sure to use the capital P to 
insert a pause. To change 
pause length, adjust the 
length of thé time-killing FOR- 
NEXT loop in line 291. 


Gee, It’s GEOS! 

The August issue of COM- 
PUTE arrived yesterday, and 
| just have to write and tell 
you how much | enjoyed the 
premiere of the long-awaited 
GEOS column by Steve Van- 
der Ark. | hope that it will be- 
come a permanent feature in 
the Gazette section. 

My cup runneth over! 
There was even a great 
GEOS type-in program for cre- 
ating an animated mouse 
pointer. The talent and creativ- 
ity of your program authors 


never cease to amaze me. 
ROBERT NELLIST 
BROCKPORT, NY 


In our recent survey, many 
readers indicated that they 
wanted more GEOS informa- 
tion, articles, and programs. 
In an effort to fill this request, 
Gazette contacted Robert Nel- 
list, who himself is no GEOS 
novice. (See his review of 
GEOS Font Editor.) Robert rec- 
ommended Steve Vander 
Ark. For the past few months 
now, Steve's “GEOS” column 
has appeared in Gazette, and 
we think he's doing an out- 
standing job. If you have any 
GEOS-related questions or top- 
ics you'd like to see him cov- 
er, drop Steve a line in care 
of the magazine. You can al- 
so leave E-mail for him on 
QuantumLink, where his han- 
dle is SteveV 14. a 


MACHINE LANGUAGE 


Jim Butterfield 


FIXED POINT 
NUMBERS 


We can often handle fractions 
without the complexity of float- 
ing point. Even BASIC some- 
times has trouble with floating 
point. Try entering PRINT 8.13 
and see what happens when 
you press Return. 

Fixed point notation uses 
an assumed decimal point. A 
value of 12345 might be used 
to represent an amount of 
$123.45; a value of 45678 
might represent a distance of 
45.678 meters or, if you like, 
45678 millimeters. Thus, val- 
ues that we think of as frac- 
tions can be held as integer val- 
ues. This simplifies the arith- 
metic. Even nonmetric values 
can be stored this way: 876 
ounces represents 54 
pounds, 12 ounces (dividing 
by 16 is easy in binary). 

Here’s a simple program to 
keep a monetary value as bi- 
nary cents. To keep the cod- 
ing compact, we'll hold the val- 
ue in two bytes, 16 bits. That 
imits us to a maximum 
amount of $655.35; a practical 
program would use at least 
hree bytes or more. (Three 
bytes would hold amounts up 
‘0 $167,772.15). 

The program will start with 
hree cents (binary 3) and dou- 
ble this value nine times. 
Each value will be printed on 
he screen; you'll see how the 
decimal point is inserted. 
You may load and run the 
BASIC driver program given be- 
ow. The full machine lan- 
guage code won't be shown; 
instead, I'll note highlights. 
Our main program is at hex 
address 2000; it sets up the 
oop to print the ten values. 
The loop calls the subroutine 
at $200B, which, in turn, calls 
the display value subroutine 
and then doubles the binary 
value at $2100 and $2101 
with an ASL (Arithmetic Shift 
Left) and ROL (ROtate Left). 


The display routine starts at 
$2015. Its job is to convert the 
binary value into decimal so 
that it can be displayed. To do 
this, we use a clever proce- 
dure involving decimal mode. 
An area is set aside to hold the 
decimal value, originally 0. 
Bits are extracted from the bi- 
nary number, one at a time. 
The decimal value is doubled 
by adding it to itself; the bina- 
ry bit is added in automatical- 
ly. When you've handled all 
the binary bits, the decimal ar- 
ea will contain the decimal val- 
ue in BCD (Binary Coded Dec- 
imal). This coding is worth a 
look, if you haven't seen it be- 
fore. Note that the binary num- 
ber from $2100/1 has been 
copied to $2102/3. 


0202C OE 03 21 ASL $2103 
slow byte 

0202F 2E 02 21 ROL $2102 
shigh 


The highest bit of the binary 
value will have been shifted in- 
to the Carry flag. If the Carry 
flag is set, the add that will 
take place soon will have an 
extra value of 1 added in. 


02032 78 SEI 
02033 F8 SED 
02034 AD 06 21 LDA $2106 
02037 6D 06 21 ADC $2106 
0203A 8D 06 21 STA $2106 


And it goes on, doubling the 
higher byte values at $2105 
and $2104 by adding them to 
themselves. We'll skip those 
instructions and just note that 
we must clear decimal mode. 
We have locked out the inter- 
rupt because some early ma- 
chines would get muddled on 
their keyboard scan if deci- 
mal mode were set. 


0204F D8 CLD 
02050 58 CLI 


The above shift-binary, add- 
decimal is repeated 16 times, 
once for each bit of the bina- 


ry number. Now we have the 
decimal digits, packed two to 
a byte; all we need to do is to 
print them, slipping in a deci- 
mal point at the right place. 
I've included zero suppres- 
sion code; look for it. 

Once you understand the 
principles involved, fixed 
point decimal seems natural. 
Use your monitor to snoop 
through all the code. Then 
you'll be ready to take on a 
similar job of your own. 

This program will run on 
most any 8-bit Commodore 
computer. The code begins 
at hex address 2000—not the 
most convenient location, but 
it's an area of memory that's 
readily available on most Com- 
modore machines. 


100 DATA 162,0,32,11,32,232 
110 DATA 224,10,208,248,96 
120 DATA 32,21,32,14,1,33 
130 DATA 46,0,33,96,173,0 
140 DATA 33,141,2,33,173 
150 DATA 1,33,141,3,33,160,0 
160 DATA 140,4,33,140,5,33 
170 DATA 140,6,33,14,3,33,46 
180 DATA 2,33,120,248,173,6 
190 DATA 33,109,6,33,141,6,33 
200 DATA 173,5,33,109,5,33 
210 DATA 141,5,33,173,4,33 
220 DATA 109,4,33,141,4,33 
230 DATA 216,88,200,192,16 
240 DATA 208,214,169,48,141 
250 DATA 2,33,173,4,33,32 
260 DATA 123,32,173,5,33,32 
270 DATA 123,32,169,46,141 
280 DATA 2,33,32,210,255,173 
290 DATA 6,33,32,123,32,169 
300 DATA 13,32,210,255,96 
310 DATA 72,74,74,74,74,32 
320 DATA 136,32,104,32 
330 DATA 136,32,96,41,15,9 
340 DATA 48,205,2,33,240,5 
350 DATA 206,2,33,16,2,169 
360 DATA 32,32,210,255,96 
400 FOR J=8192 TO 8347 
410 READ X:T=1+X 
420 POKE J,X 
430 NEXT J 
440 IF T<>12136 THEN STOP 
500 REM Need to poke the 
initial value of three cents 
510 POKE 8448,0:POKE 8449,3 
520 SYS 8192 o 


NOVEMBER 1991 


Working with 

fixed point numbers 
is simple in 
machine language. 
All you need 

to know is where 
the decimal 

point should go. 


COMPUTE G-19 


Even its fans find 
geoWrite tough 


to love, but here are 


ways to make 


it almost a pleasure 


G-20 


GEOS 


Steve Vander Ark 


GEOWRITING 
MADE EASY 
(ALMOST) 


I'm a fan of geoWrite. The oth- 
er day a guy | know called it 
geoWrong and proceeded to 
bombard me with a rather 
daunting list of evidence to 
back up his contention. | 
didn't listen; | figured that at- 
tack was caused by some- 
thing disagreeable he ate for 
breakfast or the fact his wife 
had seen the bill he ran up 
last month on Q-Link. | think 
geoWrite is wonderful. 

Oh, | know—you don't read 
this column just to hear me 
gush, but | have a real affec- 
tion for proportional fonts and 
WYSIWYG (What You See Is 
What You Get). Since my first 
printer (a used Okimate 10) 
and my first GEOS package 
(1.3) arrived at pretty much 
the same time, geoWrite was 
really the first word processor 
| ever used. Now, I'm used to 
the program, and many of us 
like what we're used to. 

To be fair, my friend's objec- 
tions to geoWrite do have mer- 
it. It is a bit slow, and it’s 
prone to dropping characters 
here and there if you really get 
cooking at the keyboard. 
When it redraws the screen— 
which is quite often—it's cer- 
tain to miss a few keystrokes. 
In 40 columns, the side-to- 
side flipping as you cross the 
page can frustrate even a con- 
firmed geoNut like me. 

There are no global settings 
available, so if you decide to 
change fonts or margins on a 
multipage document, you're in 
for a rather monotonous proc- 
ess. You make the changes, 
watch the whole thing refor- 
mat itself, and then try to find 
the bits of text that slipped 
through at the page breaks 
with the old formatting. When 
that’s finished, you're forced to 
print using GEOS fonts, wheth- 


COMPUTE NOVEMBER 1991 


er or not they're appropriate 
for the document in question, 
or use the NLQ setting but for- 
go any style changes such as 
boldface or italic. 

All this might convince you 
to try amore conventional pro- 
gram and avoid the hassles, 
but there are some big advan- 
tages to a word processor like 
geoWrite. For one thing, you 
can see what you're doing. 
The text appears on the 
screen in all the places and in 
all the styles that will print on 
your finished document. This 
makes formatting a breeze, 
and since you can preview 
your text onscreen, it saves a 
good deal of printer time and 
Paper as well. 

You really appreciate this if 
you ever need to create a 
page with some unusual spac- 
ing and formatting. With a con- 
ventional word processor you 
might spend the entire eve- 
ning trying to get the right com- 
bination of cryptic codes in 
the right places to make the 
whole document look like you 
want. But with geoWite, it hap- 
pens right there on the moni- 
tor’s screen as you type, inden- 
tations and all. You hardly 
need to print anything until 
you are certain that it’s what 
you want and perfect. 

The fonts you can use are 
another benefit of geoWrite. 
They range from businesslike 
to fun—and they're proportion- 
al, as well. As | mentioned in 
last month's column, you can 
even overcome the blocky 
curves and angles inherent to 
bitmapped fonts with the right 
printer driver. 

Screen redraws will still 
make geoWrite stumble. You 
can overcome most draw- 
backs by using only one font 
for typing the entire docu- 
ment, adding special effects 
and other fonts only after the 
document's in shape and 
ready for the printer. The built- 
in font, BSW, works fine for 
this, but | like to use a 10- or 


12-point font such as LeConte 
or University because it's eas- 
ier to read on my screen. But 
keep to a smaller point size; 
the screen redraws only when 
it's filled with text, after all. 

Side flipping can be eliminat- 
ed by setting the margin to 
screen width for typing (about 
5.2 inches) and then chang- 
ing it back to full-page width 
for final printout. This is some- 
times a trick in itself, as | men- 
tioned above, but fortunately 
there’s a program available 
called Toolkit which makes 
global commands a reality for 
geoWrite documents. 

From the Toolkit menu 
screen you can set the mar- 
gins for an entire geoWrite 
document as well as change 
the font and style of all the text 
at once. You have to create a 
text scrap containing the de- 
sired ruler settings and/or 
font. This can be a little tricky 
at first, but once you get that 
down, you'll find Toolkit to be 
invaluable and easy to use. If 
you need to combine several 
geoWrite files into one longer 
document, you can use Com- 
biner, a utility which very neat- 
ly does just that. 

There's even an answer to 
the NLQ problems. A desk ac- 
cessory called Text Print will 
print out a geoWrite document 
using the built-in NLQ font of 
your printer with all the italic, 
underlining, and boldface you 
could want. A companion pro- 
gram, Custom Print, must be 
used to customize a copy of 
Text Printto your printer's spe- 
cific control codes. 

One other feature which 
geoWrite lacks is a word count- 
er. With geoSpell you find out 
at the very end how many 
words you have, but there’s no 
way to find that information with- 
out first going through the en- 
tire spelling-checker process. 
There are several utilities avail- 
able to provide a word count 
with the click of the mouse. In 
the January 1988 issue of COM- 


PUTE!'s Gazette, there was a type-in pro- 
gram called Word Count by Shawn 
Smith which will fit the bill. Back issues 
and disks are still available from COM- 
PUTE Publications at the Greensboro, 
North Carolina, office. 

Several writing analyzers are avail- 
able as public domain or shareware. 
Blue Pencil, one of the fine utilities from 
Student Software, will keep track of the 
number of words you've used of differ- 
ent lengths, as well as how many 
words you average per paragraph or 
sentence. Another, called Copy Editor, 
even makes a judgment as to the dif- 
ficulty (grade level) of your prose. This 
helps you tailor your writing to your audi- 
ence. Look for these on Q-Link or BBS 
Post, (616) 531-1346. 

All this aside, there is something de- 
lightful about just watching all those 
great GEOS fonts trip across the 
screen in geoWrite. Let's face it, | think 
most people will agree that fonts are 


3-D GRAPHICS DESIGN 


x Voted Best Graphics Program 
—Run Magazine 1988 


For Commodore 64/128 in 64 mode 
View Designs in Multiple Perspectives 


CAD-3D" enter me into the fastest growing field in 
graphic technology. At a special introductory price 
$53.95. Add $4.00 for shipping and handling, for 
C.0.D. add an additional $4.00, (California resi- 
dents please include 6% sales tax). 


Professional-Educational-Home Applications 
Architects, Engineers, Designers, 
Programmers, Students 


. 
iht Software 

2269 CHESTNUT STREET 
SUITE 162 

SAN FRANCISCO, CA 94123 


ORDER LINE * (415) 923-1081 
FAX © (415) 923-1084 
Dealers/Distributors inquiries welcomed. 


Circle Reader Service Number 177 


one of the best things about GEOS. It 
takes a graphics-based, WYSIWYG 
word processor like geoWrite to do 
them justice. In turn, they can make 
your routine word processing into full- 
fledged desktop publishing! 

In the last column | mentioned sev- 
eral printer drivers which do a good job 
of smoothing out the jaggies that 
plague printouts of bitmapped images. 
Susan Lamb, a graphic artist whose ef- 
forts with GEOS will be featured in next 
month's column, put me onto a great driv- 
er for those of you have 24-pin printers 
and, like me, are disappointed in the hap- 
hazard way GEOS supports them. It’s 
called EPSON24pin90dpi. It's available 
on QuantumLink and on BBS Post. It cre- 
ates a somewhat shortened printout in 
geoPublish, but the quality is aston- 
ishing. If you have an Epson-compatible 


24-pin printer, this file is a must! a 


FUNctional 


Weekend 
Projects for 
C-64 Ultra-Users! 


* Automotive Duell/Tach Diagnostics 
Program with Interface Schematics $3.00 


* Home Sentry - Residential Security 
On Disk with Interface Schematics $20.00 


Send Check or Money Order to: 


CREATIVE SPECIALTIES 
P. O. Box 7361 
Richmond, VA 25221 
+ Allow 3-4 Weeks for Delivery « 


Circle Reader Service Number 125 


COMPUTE’s 


SpeedScript Disk 


A powerful word processing 
package for Commodore 64 


and 128 owners 


A Great Deal for Commodore 


Users! 
* SpeedScript for the 64 


yes! Send me 


| SpeedScript Disk. 


copies of COMPUTE's 


I've enclosed $11.95 plus $2.00 postage and handling. (Outside 
U.S. and Canada add $1.00 for surface mail or $3.00 for 


| airmail.) 


| ORDER NOW! 


¢ SpeedScript 128—80-column version 


* Spelling checkers 


* Mail merge 


* Date-and-time stamp 


* 80-column preview for the 64 


* Turbo save and load 


* Plus more than a dozen other SpeedScript 
support utilities all on one disk (including 
full documentation) 


Amount 
Sales Tax" 
Total 


State 


Mail personal check or money order to 
Commodore SpeedScript Disk 
324 W. Wendover Ave., Ste. 200 
Greensboro, NC 27408 


Residents of North Carolina and New York, add appropriate tax for your area. Canadian 
orders, add 7% good and services tax. 


Please allow 4-6 weeks for delivery. Program available only on 5%-inch disks. 


NOVEMBER 1991 COMPUTE  G-21 


G-22 


Smile, 
America! Home 
movies are 

out; video news 
is in. 


D'IVERSIONS 


Fred D'lgnazio 


LIVE, REALITY 
TELEVISION 


| woke up this morning, wan- 
dered into the kitchen, and 
found a poppyseed muffin. Af- 
ter | had popped the muffin in- 
to the microwave, | clicked on 
the tea kettle and switched on 
the TV. Suddenly | was watch- 
ing three astronauts floating 
live around the Atlantis space 
shuttle, going 20,000 miles 
per hour in zero gravity, hun- 
dreds of miles above the sur- 
face of the earth. 

One male astronaut was 
stripped to the waist and 
wired up like a cardiac pa- 
tient. He was reading a book 
and taking swigs of salt water 
from a plastic bottle. Another 
man floated around sideways, 
in shorts and white socks, eat- 
ing a tortilla. And the third, a 
tired-looking female, was oper- 
ating the shuttle's on-board 
camcorder that was taking 
these live TV pictures. The fe- 
male astronaut was only inch- 
es in front of the camcorder 
lens. | felt as if she and her shut- 
tle companions were with me 
in my kitchen. It seemed al- 
most rude not to offer her a 
bite of my poppyseed muffin. 

Welcome to live, reality TV! 

More than 15 million Ameri- 
cans have camcorders, and 
more than 70 million have 
VCRs. TV cameras, VCRs, 
and TV screens showing elec- 
tronic live and prerecorded im- 
ages are everywhere: in depart- 
ment stores, in boutiques, in- 
side bank teller machines, 
and hanging from tree branch- 
es on our state and federal 
roads and highways. 

In Michigan, where | live, 
we motorists have become 
more cautious in recent 
weeks about our driving. That 
is because the state police 
have installed strings of video 
robocops in trees and bushes 
along several of the state's 
highways. Each high-tech ro- 


COMPUTE NOVEMBER 1991 


bot policeman is composed of 
a video camera, computer, ra- 
dio, and radar. When a speed- 
ing motorist zooms by, the hid- 
den robot cameraman snaps 
a picture of the motorist's li- 
cense plate, records the mo- 
torist's speed, and transmits 
the information to a central 
computer that mails the motor- 
ist a speeding ticket along 
with a snapshot that shows 
him whizzing by. 

Several states are consider- 
ing installing similar video- 
monitoring systems in peo- 
ple’s homes to keep track of 
alcohol consumption by motor- 
ists who have been convicted 
of driving while intoxicated. 
The system is used during the 
period the person is on parole 
for his conviction. It is over- 
seen by acentral computer in 
a local police station. 

The computer calls the per- 
son at random intervals via the 
local telephone system. The 
person walks up to the alcohol 
sensor and breathes into it, 
while the computer monitors 
the person's movements on a 
video camera. The computer 
instantly analyzes the person's 
movements and his or her 
breath. If alcohol is detected 
in the person's breath or his 
movements are especially er- 
ratic, the computer places a 
call to a police officer who rac- 
es to the person's home and 
puts the offender under arrest. 

Have you watched TV 
news lately? Have you noticed 
that the shots are filled with dra- 
ma, real-life grit, glory, and 
gore? But they're also a tad jig- 
gly, fuzzy, and abrupt, as if 
shot by a news cameraman 
who's got the heebie-jeebies. 

The video footage you are 
watching has been shot by am- 
ateurs, like you and me. It's 
now an in thing even for net- 
work news programs and 
CNN to show amateur video 
on the air, especially if it cap- 
tures a sensational news story 
as it's happening. 


So you can forget videotap- 
ing birthday parties, family va- 
cations, and holidays. Home 
movies are out; video news is 
in. Now you can become a 
combination sleuth, CIA 
agent, and high-tech snoop, 
all by keeping your eyes open 
and carrying your trusty video 
camera at your side, And you 
can make money, too. 

Thousands of your friends 
and neighbors are doing like- 
wise, and when they get vid- 
eo footage that seems hot, 
they bypass the local law en- 
forcement officials and send it 
right to their local TV stations 
or even to New York, Washing- 
ton, or Atlanta, to get it on na- 
tional TV. Police watch TV 
more carefully these days. 
They know they might learn 
about a crime for the first time 
by seeing it on TV. 

We are entering a video 
goldfish bowl. Camcorders 
are shrinking, getting more 
powerful zoom lenses, and 
dropping in price. Soon they'll 
be as ubiquitous as the 
Kodak Brownie or Instamatic. 
People will carry them wherev- 
er they go, aiming them at eve- 
rything and everyone. 

Life will be a video arena 
with everyone grabbing video 
slices of everyone else's life, 
in the hope that they can sell 
them for a few dollars to the 
evening news or programs pat- 
terned after the phenomenally 
successful “America’s Funni- 
est Horne Videos.” 

You'd better watch out. The 
next time you slip down the 
porch stairs in front of your 
home or yell at your kids or 
drive above the speed limit, 
someone might capture that 
act on videotape and send 
you a ticket. Or maybe you'll 
see yourself on the evening 
news or a national comedy 
show. Your misfortunes could 
gladden the hearts of millions 
of viewers. It may feel like vid- 
eo martyrdom to you, but it’s 
just live, reality TV! o 


BEGINNER BASIC 


Larry Cotton 


MY FAVORITE 
BASIC KEYWORD 


| don'tordinarily go around una- 
bashedly touting a particular 
BASIC keyword, but RND is 
one | get excited about. 

RND creates unpredictable 
havoc out of order—that's why 
like it! Let’s see if you can 
share some of my enthusiasm 
for this very useful function. 

RND creates a virtually ran- 

dom number for use in 
games, music, graphics, and 
so forth. However, to generate 
he first random number, the 
unction depends on a nonran- 
dom seed, or starting number, 
hat is automatically loaded in- 
‘0 certain memory registers 
when the 64 is turned on. 
To make the seed as ran- 
dom as possible, use the com- 
puter's internal clock (Tl) as 
he argument and convert it to 
a negative value. The argu- 
meni is a number inside the 
parentheses following RND. 
The best way to see RND in ac- 
tion is by example. 


10 X=RND(-TI) 
20 FORT=1T05:PRINTRND(1): 
NEXT 


After you run it, you should 
see five nonrepeating num- 
bers between 0 and 1. Any 
positive number can be substi- 
tuted for the 1, with similar re- 
sults. Now enter and run this: 


10 X=RND(-TI) 
20 FORT=1T05:PRINT2*RND 
(1):NEXT 


You will now see five num- 
bers between 0 and 2. We 
can truncate these numbers 
by adding the INT function. 


10 X=RND(-Tl) 
20 FORT=1T05:PRINTINT(2* 
RND(1)):NEXT 


Be sure to use two opening 
and two closing parentheses. 


How about random choices 
of two things, such as Yes 
and No for a Ouija board? 
Here's a way to do just that, us- 
ing BASIC’s ON and GOTO. 


10 X=RND(-TI) 
20 X=INT(2*RND(1)) 

30 ONX+1G0T0100,110 
100 PRINT“ YES”:END 
410 PRINT“NO”:END 


Run this program a few times 
and observe the results. Re- 
call that ON and GOTO can 
control the flow of a BASIC pro- 
gram, so if X=0, then X+1=1, 
and control goes to line 100. 
If X=1, then X+1=2, and con- 
trol jumps to line 110. To add 
a third alternative: 


10 X=RND(-TI) 
20 X=INT(3*RND(1)) 

30 ONX+1G0TO100,110,120 
100 PRINT" YES”:END 

110 PRINT“NO”:END 

120 PRINT“ MAYBE”:END 


To increase the range, 
change 3 to another number. 
Again, using ON and 
GOTO, you can create a high- 
er percentage of a particular 
response, thereby tilting the 
odds one way or another. 


10 X=RND(-TI) 

20 PRINTCHRS(147):POKE214, 
10:PRINT 

30 X=INT(5*RND(1))+1 

40 ONXGOTO50,50,50,60,60 

50 PRINT“ODD”:GOTO70 

60 PRINT“EVEN” 

70 GETAS:IFAS="' "THEN70 

80 GOTO20 


Run this program; then touch 
any key to run it again. In line 
30 we add 1 to the randomly 
generated number to yield 
numbers from 1 to 5, inclu- 
sive. If X is 1, 2, or 3, then 
line 50 will be the target 
GOTO line. If X is 4 or 5, line 
60 will be chosen. The comput- 
er will seem randomly to 
choose between odd and 
even yet will pick, on aver- 


age, three odds for every two 
evens. Shades of Las Vegas! 

Speaking of Las Vegas, 
here’s a short program to sim- 
ulate rolling one die: 


10 X=RND(-TI) 

20 PRINTCHRS(147) 

30 X=INT(6*RND(1))+1 

40 PRINTX 

50 GETAS:IFAS="' "THEN50 
60 GOTO30 


A random number from 1 to 6 
will be generated. Press any 
key to see another, or hold a 
key down to see a string of 
rolls. Now, what else can be 
done with this function? 

RND can also produce inter- 
esting, if not beautiful, music. 
Enter this short program: 


10 X=RND(-Tl) 

20 FORT=54272T054295: 
POKET,0:NEXT 

30 POKE5S4296,15 

40 POKES4278,255 

50 POKES4276,33 

60 FORT=1T0500:NEXT 

70 POKES4273,INT(100*RND 
(1))+10 

80 FORT=1T0100:NEXT 

90 GOTO70 


Line 20 clears the sound 
chip, line 30 turns up the vol- 
ume, and line 40 sets sustain 
and release to maximum (at- 
tack and decay default to 0). 
Line 50 turns on the sawtooth 
waveform, and line 60 cre- 
ates a short pause. 

Line 70 pokes a random fre- 
quency from 10 through 100 in- 
to voice 1’s main frequency 
register. Line 80 allows the se- 
lected tone to sound a mo- 
ment; then line 90 returns con- 
trol to line 70, which gener- 
ates another (probably differ- 
ent) random frequency and 
pokes it to the frequency reg- 
ister again. Press the Run/ 
Stop key to halt the program. 

Now experiment. Change 
lines 60 and 70 so that tone 
lengths and pitches, respec- 
tively, are also random. ia) 


NOVEMBER 1991 


RND seemingly 


Sets the precise world 


of computing awry, 
creating unpredictable 
havoc out of order. 


COMPUTE 


G-23 


As flood waters 
threaten to 


engulf you, this short 


program for the 


64 is your only hope 


G24 


for survival. 


PROGRAMMER’S PAGE 


Randy Thompson 


HOW OLD ROMS 
THWART FLOODS 


An empty screen is all | saw 
when | first ran Flood, the 
game with the surprisingly 
short listing located at the end 
of this page. After 20 seconds 
of blank blue, however, | 
decided something was 
wrong with this submission. 

Trusting that author Geza 
Lucz of La Jolla, California, 
wouldn't send me a game 
with no visible graphics, | hit 
Run/Stop and typed LIST to 
diagnose the problem. It turns 
out the problem was simple, 
and one I've dealt with before. 

You see, | have a very old 
64, | bought this machine 
back when a blank bright 
blue computer-generated 
screen seemed impressive. 
Anyway, if you own one of 
these elderly computers, then 
you know that the ROMs 
housed within it handle 
screen color memory different- 
ly from 128s and late model 
64s. 

By default, color memory 
on an old 64 is set to the text's 
background color instead of 
its foreground color. This 
means that if you poke a char- 
acter into screen memory, it 
won't appear unless you also 
poke a nonbackground color 
into the corresponding color 
memory location. So all the 
characters that Flood was la- 
boriously poking across my 
screen might as well have 
been spaces, since they adopt- 
ed the same color as the rest 
of the screen. 

The most obvious solution 
to this problem is to add a 
POKE to color memory for eve- 
ry POKE to screen memory. 
This would slow down the 
game, however. A better solu- 
tion is to do as the new 64 
ROMs do—preset all of color 
memory to the foreground col- 
or so that any POKE to screen 
memory produces visible re- 


COMPUTE NOVEMBER 1991 


sults. This can be achieved 
with the loop FOR 1=55296 TO 
56295: POKE |, color: NEXT 
strategically placed at the be- 
ginning of the program. 

But there's an even easier 
way—one that takes advan- 
tage of the way old 64s fill 
screen memory with the cur- 
rent background color when- 
ever the screen is cleared. 
Take a look at this. 


POKE 53281,14:PRINT 
CHRS$(147):POKE 53281,6 


The first POKE sets the 
screen's background color to 
the color that we want our 
game's characters to appear 
in. Next, the PRINT 
CHR$(147) clears the 
screen, forcing the computer 
to fill color memory with the 
current background color 
(which, unbeknownst to the 
computer, is actually our de- 
sired foreground color). Final- 
ly, the last POKE sets the 
screen's background color 
back to normal. Now a POKE 
to screen memory results ina 
visible character, no matter 
how young or how old your 
64. You can see this code add- 
ed to line 100 of the Flood pro- 
gram described below. 

With the game graphics 
working, | found Flood to be 
quite entertaining. It's also a 
good example of what you 
can do with standard Commo- 
dore characters and direct ac- 
cess to screen memory. 

The object of the game is 
to contain a spreading body 
of water (represented by a 
growing group of asterisks) 
by building flood walls. Your 
score is determined by how 
quickly and effectively you 
accomplish this task. 

Your onscreen persona ap- 
pears as a square checker- 
board that moves about the 
screen via the cursor keys. To 
build a flood wall where you 
stand, hit Return. Be careful 
that you don't wall yourself in, 


since nothing—not even your 
stylish square body—can 
scale the sturdy walls. So 
have fun and good luck. 


Send your programming tips 
and tricks to Programmer's 
Page, COMPUTE’s Gazette, 
324 West Wendover Avenue, 
Suite 200, Greensboro, North 
Carolina 27408. We pay $25- 
$50 for each tip we use. O 


PROGRAMS 


RAMDRIVE 64 


By Hong Pham 

How would you like to have another 
disk drive that lets you access pro- 
grams and files almost instantly? That's 
what you get with Ramarive 64. 

This program adds a virtual RAM 
drive to your 64. With information 
stored in memory, it doesn’t have to ac- 
cess a mechanical disk drive. Programs 
load and save extremely fast. A 70- 
block program can load in less than 
four seconds. 

What's more, Ramadrive does not use 
any BASIC memory. Instead, it uses the 
RAM under BASIC and Kernal ROM 
($A000-$BFFF and $DO00-$FFFF) to 
store files. That's about 80 blocks: 77 
blocks to store data and 3 for the block 
availability map and directory. 


Getting Started 

Ramadrive is written entirely in machine 
language. To enter the program, use 
MLX, our machine language entry pro- 
gram. When MLX prompts you, re- 
spond with the following values. 


Starting address: 7D00 
Ending address: 86CF 


When you have finished typing in 
Ramadrive, be sure to save it to a work 
disk under the name RAMDRIVE.OBJ 
because Relocator, a companion pro- 
gram mentioned below, searches for 
that name. To use Ramadrive, load it 
with LOAD “RAMDRIVE.OBJ",8,1 and 
then type SYS 32000, or whatever ad- 
dress you may have relocated it to. 


Different Device 

Ramdrive acts like any other storage de- 
vice, such as a 1541 disk drive. That 
means you can load and save to it as 
if you were using an external disk 
drive. Like any device, Ramdrive has 
its own device number. The default de- 
vice number is 7. 

To save to the RAM drive, use the 
standard SAVE command. For exam- 
ple, SAVE “filename’,7 with filename be- 
ing the name of your file. A maximum 
of 77 blocks or a total of 30 files can 
be saved to the RAM drive. To load 
from the RAM drive, use LOAD “file- 
name”,7. Wildcard scans are allowed 
in a load operation. An asterisk (*) will 


either load the first file on the directory 
or the first file with the matching char- 
acter pattern preceding the asterisk. A 
question mark (?) can be used to re- 
place an unknown character. Remem- 
ber that information saved to a RAM 
drive is not permanent. It's lost once 
the computer is turned off. So be sure 
to save any alterations you may have 
made and want to keep to a disk be- 
fore you turn off your computer. 


RAM Drive Commands 
Any device without a good BASIC inter- 
face would be clumsy and awkward to 
use. Ramdrive 64 adds eight new BA- 
SIC commands to make accessing da- 
ta and programs easier. 


BLOAD “‘filename”, device number, starting 
address 


Load a binary file from a device and 
put it at a specified location in memo- 
ry. Unlike the standard LOAD com- 
mand, BLOAD does not corrupt BASIC 
pointers and reruns any BASIC pro- 
gram already in memory. 


BSAVE ‘‘filename”, device number, starting 
address, ending address 


Save a binary file to a device from a 
specified memory location. 


Display the RAM drive directory with 
RDIR. Unlike in the disk directory dis- 
play, the file length and the free RAM 
space are displayed in bytes. LOAD 
“$"\7 has the same effect as RDIR. 


ERASE “‘filename” 


Use this command to erase a file from 
the RAM drive. As with the LOAD com- 
mand, wildcard scans are allowed in 
ERASE. To erase all the files in the di- 
rectory, use ERASE “*”. 


DEVICE 0-255 


Change the RAM drive device number 
with this command. Any number be- 
tween 0 and 255 can be used, but the 
default RAM drive device number is 7. 
If you forget what number you assign 
to the device, enter DEVICE without an 


argument, and Ramadrive will display 
the current RAM drive device number. 


INIT 


This command will initialize the RAM 
drive, Unlike ERASE “*”, INIT clears eve- 
rything: both the block availability map 
and the directory. On activation, 
Ramarive initializes itself. If you acciden- 
tally disable the program and don't 
want to initialize the RAM drive itself, 
use SYS 32003 or SYS whatever ad- 
dress you choose, and add 3 to it. 


VALIDATE 


Validate the RAM drive. Although 
Ramdrive validates after every unsuc- 
cessful SAVE, use VALIDATE to fix the 
directory if you have problems. 


DISABLE 


Use this command to disable 
Ramadrive. SYS 65418 normally re- 
stores vectors, but it will not disable 
Ramdrive, nor will Run/Stop-Restore be- 
cause the load and save vectors are 
fixed whenever a BASIC command is 
used. The previous load, save, and BA- 
SIC system vectors are restored when 
Ramarive is disabled. 

Although these next two features 
were originally debugging tools, | 
thought them too good to leave out. To 
warm reset the system, hit the space 
bar and Restore key simultaneously. 
The Run/Stop key is disabled. To reset 
the system to the power-up state, 
press the Back Arrow and Restore 
keys simultaneously. This routine is a 
handy debugging tool if you don't 
have a reset switch and your comput- 
er is too corrupt to warm start. 


Relocate 
Because there is no definite safe mem- 
ory location in the 64, a conflict for the 
same memory could result between 
Ramdrive and another program. 
Where Aamarive is situated, it is safe 
from programs such as Metabasic, Bas- 
sem, and Micromon, but lengthy BA- 
SIC programs or strings could over- 
write Ramdrive. 

Relocator solves this potential prob- 
lem by relocating Ramdrive to another 
location anywhere in memory. Once 


NOVEMBER 1991 COMPUTE G-25 


PROGRAMS 


again, enter this program with MLX 
with the following prompts and be 
sure to save a copy. 


Starting address: 0801 
Ending address: OFB8 


Relocator loads and runs like a BASIC 
program. Once the file has been load- 
ed, type RUN. When Relocator 
prompts for the new starting address 
for Ramadrive, enter the address in hex- 
adecimal. If you don't have a good sci- 
entific calculator handy to convert dec- 
imal to hexadecimal, the following pro- 
gram may help. 


PE 10 H$ = 0123456789ABCDEF”: B = 16: 
B1 = 2B 

FP 20 INPUT “ENTER DECIMAL VALUE”;N: IF 
ABS(N)>B1-1 THEN 20 

PP 30 NS = "'": IFN<O THEN N = B1+N 

FF 40 FOR | = 1 TO B/4:T = N-(INT(N/16)*16): 
NG = MIDS(HS,T+1,1)+NS:N = NAG 

CG 50 NEXT: PRINTNS 


After Relocator relocates Ramarive, in- 
sert a work disk to save the relocated 
version of Ramdrive. If the save is suc- 
cessful, you may exit to BASIC or relo- 
cate another copy of Ramarive. Be 
sure to remember your new starting ad- 
dress and to add 3 to it when you 
want to run it. 


RAMDRIVE 64 


81 
81 
13 
68 
26 
1E 
34 
Ol 
FO 
12 
26 
EA 
FE 
E8 
AG 
26 
8E 
99 
7D 
12 
AA 
El 
D8 
48 
68 


84 
8D 
ES 
84 
AQ 
G6 
8A 
EF 
ED 
81 
26 
AG 
D8 
26 
8c 
58 
26 
8D 
FF 
E4 
26 
A4 
63 
85 
F9 
7A 
85 


26 
FA 
26 
Ag 
BF 
26 
48 
FO 
F6 
PE. 
84 
4c 
E8 
A3 
FD 
6C 
EF 
SP 
4c 
81 
73 
2E 
4c 
cs 
EG 
A6 
Ag 


62 
22 
BB 
26 
D6 
3c 
P4 
AQ 
07 
97 
81 
72 
DE 
TE 
2A 
71 
D6 
E5 
93 
F4 
4F 
91 
cg 
67 
79 
B3 
49 


7D8G: 26 
7DG8:84 
7D10:8E 
7D18:84 
7D26:AG 
7D28:85 
7D30:84 
7038348 
7D46:C9 
7D48:15 
7D50:8A 
7D58:EA 
7D6G:7D 
7D68:95 
7D76:A2 
7D78:15 
7D86:AG 
7D88:78 
7D90:8E 
7D98:7D 
7DAG:A8 
7DA8: 20 
7DBG: 2B 
7DB8:7E 
7DCG:EG 
7DC8:28 6C GG 
7DDG@:8D 62 85 


COMPUTE NOVEMBER 1991 


FS 
ag 
FB 
A2 
85 
26 
4c 
AD 
FD 
26 
FF 
EA 
A2 
62 
Ul) 
FD 
48 
AQ 
68 
26 
68 
D4 
26 
g8 
65 


1D 
85 
E3 
6C 
78 
Da 
AG 
5B 
95 
A2 
68 
85 
68 
A6 
FF 
AD 
28 
63 
8E 


G-26 


F3 84 


7DD8:8D 


61 85 


94 
26 
4c 
FF 
26 
85 
AS 
4c 
6c 


7E28:8D 
7E30:34 
7E38:4C 
7E46:26 
7E48:B7 
7E56:26 
7E58:06 
7E60:46 
7E68:28 


33 
7E 
3D 
57 
Ag 
28 
20 
85 
Bo 


7E 
4c 
7E 
E2 
OF 
85 
A2 
F@ 
G2 


BD 
FF 
7A 
BD 
ao 
c3 
98 
28 
CE 


7E88:85 
TEQG:AF 
7E98:16 
7EAG:A9 


c2 
26 
83 


26 
EA 
4c 


85 
4c 
7E 


84 
5c 
26 


7EE8: 46 
7EFG:A9 
7EF8:19 
7FG6:8D 
7EO8:8¢0 
7F16:33 
7F18:8D 
7F20:7F 
7F28:61 
7E30:AB 
7E38:GF 
7F46:13 
TE48:A9 
TE5SG:AG 
7E58:BG 
7F60:6B 
7F68:20 
TE76:A5 
7E78:93 
7F86:29 
7F88:A2 
7F9G:24 
7F98:84 
7FAG:3B 
7FA8:64 
7EBG: 26 
7FB8:85 
7ECG:82 
7EC8:26 
7ED@:B9 
7ED8:85 
7FEG:85 
7FE8:86 
TEFO:FE 
7EF8:EE 
896G:26 


85 
47 
63 
36 
AE 
03 
68 
AE 
63 
4c 
EG 
E@ 
93 
86 
G4 
84 
1E 
BA 
4c 
AF 
68 
Dao 
4c 
82 
6a 
3B 
96 
8D 
cs 
Fo 
E8 
4c 
29 
Dd 
65 
97 


26 
A2 
AD 
63 
49 
AD 
63 
47 
ag 
3B 
42 
44 
AG 
BO 
AQ 
AQ 
AB 
cD 
EF 
FS 
66 
69 
16 
26 
20 
82 
8D 
FO 
82 
wit 
26 
E8 
84 
1F 
86 
82 


85 
8D 
ae 
31 
8D 
7E 
99 
8D 
AG 
38 
1l 
15 
BO 
ag 
AG 
26 
65 
85 
AS 
B7 
oo 
D2 
26 
81 
FS 
c7 
82 
E8 
65 
cs 
82 
A6 
A2 
8E 
cs 
EG 


4c 
18 
AE 
83 
32 
AE 
63 
6G 
86 
E@ 
E@ 
4c 
16 
AE 
86 
D2 
a4 
FO 
93 
16 
Bl 
FS 
E4 
96 
26 
82 
AA 
A8 
86 
82 
98 
c3 
63 
cé6 
82 
FF 


8908:2G 
8910:2A 
8918:91 
802G:A9 
8628:26 
8930:E8 
8638:05 
8040:A5 
8048:FF 
8950:04 
8058:20 
8969:A5 
8968:96 
8070:8G 
8678:42 
8080:C9 
8688:C9 
8690:82 
8098:A9 
86AG:C8 
89A8:4C 
86BG:FD 
86B8:27 
86CG:ES 
86C8:27 
86DG:AG 
80D8:2A 
8GEG:DG 
8GE8:38 
8GFG:AD 
8OF8:A5 
8100:C2 
8108:85 
8116:D9d 
8118:18 


18 
21 
97 
c7 
FO 
E8 
95 
46 
8F 
68 
BO 
cg 
FO 
EG 
82 
G8 
o5 
c8 
16 
26 
48 
66 
80 
5E 
E5 
27 
84 
SE 
91 
91 
29 
26 
cl 
11 
81 


8148:28 
8156:D8 
8158:85 
8160:9D 
8168:FD 
8176:06 
8178:2F 
8186:A9 
8188:5E 
8199:97 
8198:B3 
81AG:D8 
81A8:26 


91 
B7 
Cr) 
38 
85 
85 
85 
29 
E8 
SE 
29 
B7 
96 


81F8:9D 
8200:FE 


9D 
F4 


8228:BG 
8236:26 


82 
8A 


8238:69 AF 69 20 C9 82 A2 GG 89 | 8468:DH FA 60 AY BD 4C D2 FF 7E | 8698:45 58 49 53 54 53 GO 44 FO 
8240:AG GG Bl BB C9 2A FO 24 B4 | 8470:20 E4 81 AD GO 8D 47 85 D7 | 86AG:49 52 45 43 54 4F 52 59 Al 
8248:C9 3F FG 04 Dl 27 DG GF 3C | 8478:8D 48 85 26 3B 82 BG B9 5B | 86A8:2G6 46 55 4C 4C OG 52 41 GF 
8250:C8 C4 B7 99 ED CO 14 FG GE | 8480:AG 11 AY GG 91 27 EE 48 A2 | 86BG:4D 44 52 49 56 45 28 46 A2 
8258:13 Bl 27 C9 AG FG OD EB AG | 8488:85 26 8G 82 EE 47 85 AD El | 86B8:55 4C 4C GB 49 4C 4C 45 66 
8260:EG 1F FG G6 20 8G 82 4C 70 | 8499:47 85 C9 1E DG ES 2G D2 EA | 86CG:47 41 4C 28 46 49 4c 45 82 
8268:48 82 38 60 AG 11 Bl 27 GF | 8498:82 20 EF 81 20 6B 84 AQ 62 | 86C8:4E 41 4D 45 GB OG OG OB 4B 
8270:FG ED 36 EB 18 88 Bl 27 9B | 84A0:00 AE 48 85 26 CD BD AQ 14 
8278:48 AG 12 Bl 27 A8 68 66 34 | 84A8:51 AG 86 4C 1E AB AD 30 43 
8280:18 A5 27 69 14 85 27 96 GC | 84B0:03 AE 31 G3 8D 7A 7F 8E 21 
8288:02 E6 28 66 A2 4C BD 5G 65 | 84B8:7B 7F AD 32 G3 AE 33 G3 74 | RELOCATOR 
8290:FD FG GB CA 10 F8 38 E6 9A | 84CG:8D 48 80 BE 49 8G AD G8 4B 
8298:29 DG G2 E6 2A 6G 26 2E 56 | 84C8:G3 AE G9 G3 8D 3E 7E BE 41 | 6861:0E G8 C7 G7 9E 26 28 32 7B 
82AG:82 18 66 A2 43 8E 48 85 8D | 84D0:3F 7E AD OG G3 AE G1 G3 AG | 6809:30 36 34 29 GO BG GB 78 5B 
82A8:26 D2 82 AE 48 85 38 26 96 | 84D8:8D 46 7F 8E 47 7F 60 AY BS | G811:A2 FF 9A 26 A3 FD 26 15 32 
82BG:EF 81 69 B9 FF FF 60 18 8£ | 84E@:CC A2 7D 8D 68 63 8E G9 F3 | 6819:FD 28 5B FF 58 A9 @5 20 2F 
82B8:98 6D B4 82 8D B4 82 96 F8 | 84E8:63 AY 34 A2 7F 8D GO G3 C3 | 6821:D2 FF AY 93 20 D2 FF AQ FE 
82CG:03 EE BS 82 60 BD FF FF DB | 84F@:8E G1 63 AQ 34 A2 7D 8D 31 | 6829:00 26 90 FF AY 86 8D 26 F3 
82C8:6 A9 AG A2 FD 85 27 86 81 | 84F8:18 G3 BE 19 G3 AI GE A2 76 | G831:DG 8D 21 DG A2 G2 AG BA AG 
82DG:28 60 26 C9 82 26 64 82 Cl | 8560:7F 8D 30 G3 BE 31 G3 AD 4D | G839:18 20 FO FF A9 OF 8D 86 AG 
82D8:A2 GG 8E 47 85 AG 11 Bl F7 | 8508:40 A2 80 8D 32 63 8E 33 B2 | 6841:02 AO AF 26 GD BD A2 BA 21 
82EG:27 FO 22 36 20 88 Bl 27 AA | 8510:03 60 AY 9F A2 7D 8D SF 69 | 6849:AG GE 20 26 BD 26 15 BD 53 
82E8:8D FC 82 48 A9 60 8D FB 2D | 8518:7D 8E 6G 7D 60 AD 62 85 6D | G851:A9 GB 8D 86 G2 A B7 20 59 
82FG:82 68 26 16 82 A9 G1 9D BG | 8529:85 7A AD 63 85 85 7B 6G 12 | 6859:GD GD 18 AG G2 A2 G6 26 G7 
82F8:50 FD AD FF FF 8D FC 82 GE | 8528:20 GE E2 20 8A AD 4C F7 CO | 6861:FO FF A2 A4 AG GE 20 26 26 
8300:FG G3 4C F2 82 EE 47 85 DC | 8530:B7 206 6B 84 A9 E9 AG 85 9B | 6869:0D 18 AB GB A2 O9 20 FO 84 
8308:AD 47 85 C9 1E DO CE 6 37 | 8538:20 1E AB AQ GO AE 46 85 B7 | 6871:FF AD 69 GE F@ G3 4C DF G7 
8310:26 6B 84 A2 63 20 62 84 9E | 8549:20 CD BD 4C 6B 84 07 GG C6 | G879:08 A2 C9 AG BE 26 26 OD B7 
8318:A9 64 AG 86 20 1E AB 26 62 | 8548:60 GB GB BG GB GB GB GO 53 | G881:AG G4 A2 GA 18 26 FO FF FA 
8320:6B 84 AI 12 26 D2 FF A2 43 | 8556:00 GG GB GO BB GO BO BO 5B | G889:A2 F3 AG GE 26 26 GD 26 98 
8328:04 20 62 84 AO 43 AG 86 EF | 8558:08 BB GB GB GO GO BB BO 63 | 6891:34 BD 20 34 OD 26 E4 FF FB 
8330:26 1E AB A2 69 20 62 84 86 | 8560:00 GB GB BGO 42 93 OG 42 GE | 6899:FG FB A2 13 AG OF 20 26 48 
8338:A9 4C AG 86 206 1E AB A2 17 | 8568:94 OB 52 44 49 52 OG 52 32 | GBA1:0D AO G5 AG BA AG FF 20 26 
8340:04 20 62 84 20 6B 84 26 BD | 8570:D6 OG 49 4E 49 54 OG 45 DS | G8A9:BA FF A9 16 A2 6A AG GE 5B 
8348:E4 81 26 C9 82 A9 GG 8D GOB | 8578:52 41 53 45 BB C5 49 44 AQ | G8B1:2G BD FF AO GG 26 D5 FF G8 
8350:48 85 8D 61 85 AG 6G Bl G5 | 8580:41 54 45 BG 44 49 53 41 19 | 68B9:20 B7 FF 29 OF FG 1F A2 77 
8358:27 99 49 85 C8 CO 14 DG 1D | 8588:42 4C 45 BG 44 45 56 49 9D | G8C1:21 AG GF 26 26 OD A2 39 22 
8360:F6 AG 11 B9 49 85 FG 35 46 | 8596:43 45 GG GG 40 7E 76 7E EQ | G8C9:AG GF 20 26 GD 20 E4 FF AG 
8368:30 33 26 EF 81 BE 61 85 67 | 8598:97 7E 97 7E 9D 7E AA 7E A4 | G8D1:C9 59 FG 07 C9 4E DG FS CA 
8370:A2 GO BD 49 85 26 D2 FF 67 | 85A0:CF 7E FO 7E DB 7E 43 36 CE | 68D9:6C FC FF 4C 10 98 A9 G1 19 
8378:E8 EG 16 DG F5 AY 2G 26 Fl | 85A8:34 26 52 41 4D 2D 44 52 2E | G8E1:8D 69 GE A2 4A AG GE 20 12 
8380:D2 FF AD 5B 85 AE SC 85 81 | 85BG:49 56 45 20 49 4B 53 54 1F | G8E9:20 GD AD BG BD A2 GD 85 19 
8388:26 FA 83 A9 1C AG 86 26 FO | 85B8:41 4c 4C 45 44 GD GG GD BB | GBF1:CC AY G1 8D 86 G2 28 E4 2D 
8390:1E AB 26 6B 84 26 El FF B4 | 85CG:26 20 43 4F 50 59 52 49 17 | G8F9:FF FG FB C9 GD FG 21 C9 9A 
8398:FG 13 26 E4 81 26 80 82 3F | 85C8:47 48 54 28 31 39 39 31 28 | G9G1:14 FG GBD A2 GF DD 7A BE 18 
83AG:EE 48 85 AD 48 85 C9 1E C6 | 85DG:20 42 59 28 48 4F 4E 47 OD | G9G9:FG 20 CA 16 FB 4C F7 G8 E6 
83A8:FG G3 4C 55 83 26 EF 81 C5 | 85D8:20 50 48 41 4D 26 2F 56 C4 | G911:AD A2 OD FO El AY 14 20 51 
83BG:26 6B 84 A9 26 26 D2 FF F4 | 85EG:39 31 30 37 31 32 @D GD C7 | G919:D2 FF CE A2 GD 4C F7 68 2A 
83B8:AE 61 85 A9 GO 26 CD BD 94 | 85E8:80 52 41 4D 44 52 49 56 D9 | G921:AD A2 BD C9 O4 9G CF 4C 3F 
83CG:A9 2B AG 86 206 1E AB 20 D4 | 85FG:45 20 44 45 56 49 43 45 27 | G929:4C G9 AE A2 GD 9D A3 GBD DE 
83C8:E4 81 A9 GG 8D 61 85 A2 77 | 85F8:26 4B 55 4D 42 45 52 20 13 | 6931:20 D2 FF BE A2 GD AD A2 3E 
83D0:4C BD 58 FD D@ G3 EE 61 29 | 8600:49 53 206 GG 43 36 34 20 G6 | 6939:0D C9 B4 DO BO 2G E4 FF ES 
83D8:85 CA 16 F5 26 EF 81 A9 24 | 8608:52 41 4D 44 52 49 56 45 26 | 6941:C9 14 F® CC C9 OD FO DB 65 
83E0:20 20 D2 FF AD 61 85 A2 FA | 8610:26 44 49 52 45 43 54 4F BB | 6949:4C 3E G9 AD G1 85 CC AD 2E 
83E8:06 20 CD BD A9 1C AG 86 13 | 8618:52 59 BD GB 2G 42 59 54 57 | G951:2G 20 D2 FF AE A3 GD AC AG 
83F0:26 1E AB A9 23 AG 86 4C 94 9959:A4 BD 26 39 BD 8D 99 OD 77 
83F8:1E AB 8D 57 85 8E 58 85 BD 0961:AE A5 @D AC AG GD 26 39 83 
8400:A9 6G 8D 59 85 8D 5A 85 Cl 9969:GD 8D 98 GD 26 34 BD A2 D7 
8408:8D 5B 85 8D 5C 85 A2 GF 85 G971:61 AG GF 20 26 BD 28 97 4D 
8416:0E 57 85 2B 58 85 78 F8 4C | 8640:2E OD GG 46 49 4C 45 4E 6G | G979:GA A2 71 AG GF 26 26 GD B7 
8418:AD 59 85 6D 59 85 8D 59 2B | 8648:41 4D 45 GB 53 49 SA 45 AB | G981:A9 9G 85 CC 8D A2 GD 26 17 
8420:85 AD 5A 85 6D 5A 85 8D 68 | 8650:80 28 46 49 4c 45 53 28 G9 | G989:E4 FF C9 OD FO 26 C9 14 DF 
8428:5A 85 AD 5B 85 6D 5B 85 49 | 8658:53 29 26 53 43 52 41 54 CC | G991:FG 2A C9 20 98 F1 C9 BG 42 
8436:8D 5B 85 D8 58 CA 16 D8 FB | 8660:43 48 45 44 2E GO OD 52 EB | 9999:BG G3 4C A2 89 C9 AB 9G BO 
8438:A2 62 BD 59 85 48 4A 4A 8C | 8668241 4D 44 52 49 56 45 20 65 | GIAL:E6 AE A2 BD EG 16 FO DE G1 
8440:4A 4A 20 4F 84 68 29 GF 21 | 8670:49 4£ 49 54 49 41 4c 49 55 | O9A9:20 D2 FF 9D A3 OF EE A2 34 
8448120 4F 84 CA 10 EC 60 CD 35 | 8678:5A 45 44 2E @D GO GD 52 44 | G9B1:GD 4C 88 G9 AD A2 OD FO G2 
8450:5C 85 DG G4 A9 26 DG G7 BO | B68G:41 4D 44 52 49 56 45 26 7D | G9B9:CE 4C D2 G9 AB A2 BD FG 3C 
3458:09 30 AG FF 8C 5C 85 4C 33 | g688:44 49 53 41 42 4C 45 44 9A | G9C1:C6 AD 14 26 D2 FF AD BB 10 
8460:D2 FF A9 20 20 D2 FF CA 21 | 8690:2E GD @6 46 49 4C 45 26 82 | G9C9:9D A3 GF CE A2 OD 4C 88 CC 


NOVEMBER 1991 COMPUTE G-27 


PROGRAMS 


G9D1:09 A9 G1 85 CC AQ 26 2G BB| GCG1:AD AS GD 91 FB C8 60 28 F7| GE31:49 45 55 41 51 AD BD B9 78 
99D9:D2 FF 26 34 @D A2 85 A@ 3B| @CG9:8E GC AO 34 8D AC GBD AE CB| GE39:AC BC 26 CD DD D9 AE BE 2E 
G9E1:0F 20 26 GD AE A2 BD AG 13 GE41:4C 6C 8D 9D 99 8C BE CE 15 
@9E9:00 BY 9F OF 9D A3 BF EE D7 @E49:DE EE FE CC EC ED FD F9 52 
G9F1:A2 OD E8 C8 CO 64 DG Fl EB GE51:6D 7D 79 2D 3D 39 GD 1D 8B 
@9F9:18 AD 9A GD 6D 9E @D 8D 35, GE59:19 4D 5D 59 2C 2B 3E 6E 9B 
GAG1:A9 GD AD 9B GD 6D 9F OD 7 GE61:7E 4E SE GE 1B A9 A2 AG 7A 
GAG9:8D AA @D AD 9E GD AE 9F 31 GE69:06 52 41 4D 44 52 49 56 6B 
GA11:0D 85 FD 86 FE AD A2 GD 36 GE71:45 2E 4F 42 4A 2A 26 20 25 
GA19:A2 A3 AG GF 26 BD FF AQ GE GE79:20 30 31 32 33 34 35 36 G6 
GA21:05 A6 BA AG G5 20 BA FF EG GE81:37 38 39 41 42 43 44 45 6F 
GA29:26 CO FF 20 B7 FF 29 OF 9E GE89:46 8E G8 12 98 20 52 41 BO 
GA31:FO G3 4C 6C GD A2 O5 2G EB GE91:4D 44 52 49 56 45 26 52 9E 
GA39:C9 FF AD 98 GD 26 D2 FF FF| @C69:8D 8D A2 OD AS FC ED 9F 2D| GE99:45 4C 4F 43 41 54 4F 52 D5 
GA41:AD 99 OD 20 D2 FF AG GG GE| GC71:6D 8D A3 BD 38 AD A2 GD 83] BEA1:26 92 GG 9A 43 4F 56 59 6D 
@A49:Bl FD 20 D2 FF 26 B7 FF D6| GC79:ED 9A GD 8D A4 GD AD A3 G2 49 47 48 54 20 31 39 6D 
GA51:29 OF F@ G3 4C 6C BD E6 21] gc81:6D ED 9B BD OD A4 GD BG AS 31 26 43 4F 4D 58 55 94 
GA59:FD DG G2 E6 FE 38 AD A9 2D| GC89:81 6G 68 68 60 AD 96 GD Cl 45 20 50 55 42 4C 49 EF 
GA61:0D E5 FD 8D A8 @D AD AA 8D| GC91:AE 97 GD 85 FD 86 FE AD 96 41 54 49 4F 4B 53 GG 49 
GA69:0D E5 FE @D A8 GD BG D8 E1| GC99:9E GD AE 9F GD 85 FB 86 11 | GEC9:@5 49 4B 53 45 52 54 20 F5 
GA71:A9 G5 26 C3 FF 26 CC FF F5| @CAl:FC 6@ 8D A2 OD 8C A3 GD 1B| GED1:57 4F 52 4B 20 44 49 53 64 
GA79:20 34 GD 20 34 BD A2 91 FA| GCA9:18 AD 9E GD 6D A2 BD 85 73| GED9:4B 20 43 4F 4B 54 41 49 9g 
GA81:A0 BF 2G 20 OD 26 E4 FF 62] GCB1:FB AD 9F GD 6D A3 BD 85 91| OEE1:4E 49 4E 47 20 52 41 4D CF 
GA89:C9 59 DB G3 4C 10 G8 C9 9F| BCB9:FC 18 AD 96 GD GD A2 OD E5| GEE9:44 52 49 56 45 2E 4F 42 GF 
@A91:4E DG F2 6C FC FF 20 8E DC| @CC1:85 FD AD 97 OD 6D A3 GD BD| GEF1:4A G0 54 48 45 4E 26 5G 36 
GA99:0C AD 9E GD AE 9F GD 8D 5F| @CC9:85 FE 68 AG GG Bl FD 8D CA| GEF9:52 45 53 53 28 41 20 4B C1 
GAA1:BC GA 8E BD GA AD 96 GD 85| GCD1:A4 GD C8 Bl FD 8D A5 GD 32| GFG1:45 59 26 54 4F 26 43 4F 32 
GAA9:AE 97 GD 8D B9 GA BE BA 43| GCD9:38 AD A4 OD ED 96 GD 8D 5G 54 49 45 55 45 2B 2E BB 
GAB1:0A A2 GB AC 9B GD C8 BD 9E| GCE1:A6 GD AD AS GD ED 97 GD FC G8 9F 4C 4F 41 44 49 5a 
@AB9:FF FF 9D FE FF E8 D@ F7 AE! @CE9:8D A7 GD 18 AD A6 BD 6D 65 47 2E 2E 2E 2E @D 66 1D 
GAC1:BE BA GA EE BD GA 88 D@ 24] GCF1:98 GD 8D AG BD AD A7 GD 31 9E 2D 2D 2D 2D 26 44 88 
GAC9:EE 20 D3 GA 26 G8 BC 4C FD| GCF9:6D 99 GD 8D A7 BD AG GO SC| GF29:49 53 4B 20 45 52 52 4F 93 
GAD1:2C GC 18 AD 96 GD 6D 9C 3D| gDG1:AD A6 GD 91 FB C8 AD A7-5C| GF31:52 26 2D 2D 2D 2D GD BG 31 
GAD9:6D 8D AG BD AD 97 BD 6D 16| gDG9:GD 91 FB 68 A2 14 2G D2 GC| GF39:54 52 59 2G 41 47 41 49 36 
GAE1:9D OD 8D Al GD. AE G1 40 39| GD11:FF CA D@ FA 38 26 FG FF CB| GF41:4E 206 28 59 2F 4B 29 3F 6D 
GAE9:AG GG A2 GB Bl FD DD 36 1A| gD19:E8 AG GA 18 4C FG FF 8E 47| GF49:00 GD 9A 52 45 4C 4F 43 66 
GAF1:0£ FG 2B E8 EG 36 DG F6 9D| gD21:29 BD BC 2A BD A2 GO BD F7| GF51:41 54 45 20 41 44 44 52 C5 
GAF9:A2 66 DD F3 GD FO 10 E8 8F| GD29:FF FF FG G6 206 D2 FF E8 F6| GF59:45 53 53 20 3A 26 24 6G F5 
9B01:E0 4F D@ F6 91 FB 20 50 Fl| 6D31:D0 F5 68 A9 BD 4C D2 FF 17| GF61:9F 52 45 4C 4F 43 41 54 AF 
GBG9:GC 20 64 GC 4C E9 GA 91 2A| 9D39:8E AO BD BC AA BD AG GO 3A | GF69:49 4E 47 26 2E 2E GD GO CF 
@B11:FB 20 5@ GC Bl FD 91 FB 9C| 6D41:AD A9 GD D9 7A GE FG G3 CC| GF71:0D 9A 53 41 56 45 26 46 89 
9B19:26 50 GC 4C GA GB 91 FB 35| 9D49:C8 DG F8 98 GA GA GA GA 3B| GF79:49 4c 45 26 4E 41 4D 45 51 
@B21:20 54 GC Bl FD 8D A2 6D 76| @D51:8D A8 GD A2 BG AD AA GD 41| GF81:3A 26 G5 GO OF 53 41 56 88 
9B29:26 56 GC Bl FD 8D A3 GD FB| 6D59:DD 7A GE FG G3 E8 DG FS 28| GF89:49 4E 47 2E 2B 2E 2E GO 32 
@B31:20 56 GC 38 AD AG GD ED £9| GD61:8A GD AB GD 8D AB BD AD CO| GF91:41 4B 4F 54 48 45 52 20 2F 
@B39:A2 @D 8D A4 BD AD Al GD 4F| @D69:AB BD 6G AD GS 20 C3 FF F1| GF99:28 59 2F 4E 29 6G 2C 5G DE 
@B41:ED A3 GD GD A4 BD 96 5G 74| OD71:26 CC FF 20 34 GD A2 21 GD| GFA1:2C 57 GG GO GB GG GO OG AB 
@B49:38 AD 96 OD ED A2 BD 8D 2C| GD79:AG GF 20 28 BD A2 39 AG B3| GFA9:GG BG GG GG GB GO BG GO C7 
@B51:A4 6D AD 97 GD ED A3 GD AG| GD81:0F 20 20 GD 26 E4 FF C9 5E| GEB1:08 66 GG GO GB OG OG GG CF 
@B59:@D A4 BD BG 3B 38 AD A2 84| GD89:59 FG G7 C9 4E DG F5 4C F7 
@B61:6D ED 96 GD 8D A4 GD AD E3| GD91:10 G8 4c F9 69 GG 7D GO 22 
9B69:A3 GD ED 97 OD 8D A5 GD C2] BD99:48 CD G9 AB G8 GG 40 BO B3 Wan 
GB71:18 AD 98 BD 6D A4 BD 8D 88| BDA1:09 Gd Gd G6 0 G6 G6 Go Bp | MOND Pham lives in Antigonst, Nova 
GB79:A6 GD AD 99 GD 6D A5 GD EB| GDA9:GG GO BG BG G9 Ga 1E aa 48 | SCOtia, Canada. oO 
@B81:8D A7 BD AG GB AD AG GD G5| gDB1:25 GG 89 GB DE GG AG G1 cB 
@B89:91 FB 28 5D OC AD A7 GD B4| GDB9:2A G2 48 G2 4E 62 54 G2 B7 
@B91:91 FB 26 5D @C 4c GA GB F9| @DC1:5A G2 18 G6 2C G6 38 G6 DC 

@B99:A8 66 AD A2 BD 91 FB 206 A6| BDC9:8B G6 CG G6 EC G6 F3 G6 11 1-3-5-7 
@BA1:5D GC AD A3 BD 91 FB 26 20| ODD1:A7 67 DF 07 E9 G7 F3 G7 48 
GBA9:5D GC 4C GA OB AG GO Bl 28| gpD9:FD B7 G7 G8 12 B8 34 as 37 | BY Randy Thompson 

eae BD me Bb c8 Be ae 8D E5| gDE1:94 98 96 G8 98 98 9A g8 BD | Can computers learn? It's a thought- 

3 FD 8D A3 GD 14/ gpE9:9C G8 9E G8 AG G8 A2 GB 1B rovoking question. In a sense, you 
@BC1:C8 Bl FD 8D AS 6D 38 AD CO| gpF1:A4 68 AQ A2 AG AS BS Al 68 fe h aes i , 

; each your computer something every 
GBC9:A4 BD ED 96 BD 8D Ad OD 91| GDF9:B1 A4 B4 AG BE BG FG 94 G2 | time you type i f 
GBD1:AD AS @D ED 97 GD 8D A5 5A| GEG1:C9 C5 DS Cl D1 DG AG BE 2G you type in a new program, but is 
@BD9:@D 18 AD A4 BD 6D 98 OD DB | BEGI:85 95 81 91 84 94 86 96 BG | that really learning? 

@BE1:8D A4 GD AD AS BD 6D 99 3A| GE11:C6 D6 E6 F6 CG C4 CC EG 26 With these questions in mind, | se 
pees eb ap AS op AG ae AD x2 72 | GE19:E4 EC E9 E5 F5 El Fl 69 @3 | Outtowriteaprogram that notonly teach- 
BE1:0D 91 FB C8 AD A4 GD 91 AA| GE21:65 75 61 71 36 18 29 25 C9| es the computer anew trick (to play a 
GBF9:FB C8 AD A3 GD 91 FB C8 9F| GE29:35 21 31 69 G5 15 G1 11 6E| game) but also improves its perform- 


G-28 COMPUTE NOVEMBER 1991 


ance by letting it learn from its mistakes. 
This program plays a simple game that 
| call 1-3-5-7 because of the way the 
game's 16 pieces are arranged—in 
four rows with one piece in the first row, 
three pieces in the second row, five piec- 
es in the third row, and seven pieces in 
the fourth row. The more games of 1-3- 
5-7 you play against the computer, the 
better the computer gets at winning. 


Getting Started 

The program is written entirely in BA- 
SIC. Type it in using The Automatic 
Proofreader; see “Typing Aids" else- 
where in this section. When you've fin- 
ished typing, be sure to save a copy of 
the program before running it. 

When you play for the first time, 
your computer is a terrible opponent. It 
knows nothing about what is a good or 
bad move; it simply strives to make le- 
gal moves. At the end of each game, 
however, the computer reviews the 
moves both you and it made and at- 
tempts to learn from the loser’s mis- 
takes and the winner's good strategy. 
After a number of games, the comput- 
er's talent at remembering past events 
makes it a formidable adversary. 


How to Play 

The game is easy to learn. Players 
take turns removing pieces from the 
board. Remove as many as you like as 
long as those pieces are taken from 
one row only. You may remove pieces 
from any row, and you must take at 
least one piece. The player who re- 
moves the last piece loses the game. 

When you run 1-3-5-7, the comput- 
er asks you if you want to load any 
previous game experience. This is a 
file that you can create after playing a 
few games and then exiting 1-3-5-7. 

The game operates from a menu con- 
taining six options: Human Moves 
First, Computer Moves First, Human vs. 
Human, Computer vs. Computer, Auto- 
Learn Mode, and Quit. 

In the first two options, you play 
against the computer. If you have not 
loaded a knowledge file, the computer 
selects legal moves totally at random 
(it doesn't know any better). Against a 
reasonably aware opponent, the com- 
puter nearly always loses. It can win, 
but it rarely does. 

Beating the computer is not the 


idea, however. It's your job to improve 
the computer's game through exam- 
ple. The computer considers any 
move that you make during a winning 
game to be a good one. Conversely, 
all moves made by the losing player 
are seen as bad moves. If you play a 
game perfectly, only to make a foolish 
move at the end, the computer will re- 
member all your moves as being unde- 
sirable, and your teaching task will be- 
come much more difficult. If you wish 
to bring your computer up to speed as 
soon as possible, you must show no 
mercy and always play your best. 

To make a move, you first select a 
row by pressing the A, B, C, or D key 
(the rows are labeled this way on the 
screen). Next, select the number of 
pieces you want to remove using the 
computer's number keys. When you've 
made your selections, press Return to 
accept the move; press any other key 
to start over and reenter your move. 
When the game is over, the computer 
announces the winner and returns you 
to the game's main menu. 


Other Options 

Option 3, Human vs. Human, allows 
you to play against another carbon- 
based opponent, such as your best 
friend. The computer still observes the 
game while you play this mode, so its 
expertise improves even though it's not 
an active participant. 

Computer vs. Computer pits the com- 
puter against itself. It's a good option 
to choose when you want to check for 
weak spots in your computer’s game 
strategy. By watching the computer 
play, you might learn a few tricks your- 
self. In Auto-Learn mode, the comput- 
er and a spurious opponent named Mr. 
Random take turns going first and con- 
tinue playing until they are told to 
stop. To halt Auto-Learn mode, press 
the Back Arrow key. This is an excel- 
lent mode to select when you want to 
start building an experience file. Keep 
in mind that, while Mr. Random is a tire- 
less player, he is hardly a good role 
model for your computer. Therefore, 
even after several hours of competition 
with Mr. Random, your computer will 
still need some careful tutoring to be- 
come a really good player. 

When you select the Quit option, the 
computer asks you if you want to save 


the current game experience to disk. If 
you answer Yes, you are asked to en- 
ter a filename. By using distinct file- 
names, you can create different expe- 
rience files for various levels of play. 


How It Works 


The program keeps track of the current 
board position in the string variable 
BD$. Each time a player moves, BD$ 
is updated. The board position is 
stored as four characters. The first char- 
acter reflects the number of pieces in 
row A, the second character reflects 
the number of pieces in row B, and so 
on. Thus, the initial board position is rep- 
resented as 1357. If you removed 
three pieces from row B as your first 
move, 1057 would be the resulting 
board position. The four board posi- 
tions 1000, 0100, 0010, and 0001 sig- 
nify the end of the game. 

In order for the computer to learn 
from a game, it must keep track of the 
game's moves. Each move is stored in 
the string array GM&(). The first move 
of the game is stored in GM$(1), the 
second move in GM§(2), and so on. 
The current move number is kept in the 
variable MV, so the current move is ref- 
erenced with the statement GM$(MV). 

The game's moves are stored in a 
seven-character format. The first four 
characters represent the board posi- 
tion in exactly the same way board po- 
sitions are represented by BD$. The 
fifth character is always a space. The 
sixth character represents the row, and 
the seventh and last character speci- 
fies the number of pieces removed 
from that row. If you remove four piec- 
es from row C as the first move in the 
game, for example, the string 1357 C4 
would be loaded into GM$(MV). 


How It Learns 
This program learns from experience: 
Good behavior (winning) is rewarded, 
and bad behavior (losing) is punished. 
In order for the program to remember 
what is good and bad behavior, | had 
to supply the program with a memory 
or brain. The brain of 1-3-5-7 is the 
string array WM§(). Winning moves are 
moved into the array, while losing 
moves are shoved out. At the start of 
the program, this array is empty. 
Think of each array element in 
WMS() as a brain cell, where one 


NOVEMBER 1991 COMPUTE G-29 


PROGRAMS 


brain cell stores the possible winning 
moves for one particular board posi- 
tion. Accessing a brain cell is relative- 
ly easy. For example, the winning 
moves (or at least what the computer 
thinks are winning moves) for board po- 
sition 1345 are stored in WM$(1345). 
So, at any time during the game, 
WMS$(VAL(BD$)) returns the winning 
moves (if any) for the current board po- 
sition. (Note of interest: With 383 pos- 
sible board positions and 1357 brain 
cells, only about 3 percent of the pro- 
gram's brain cells are actually ever 
used. Remind you of anyone?) 

Winning moves are stored in WM§() 
in the same format as game moves are 
stored in the last two characters of the 
GM&() array. Several moves may be 
stored in one WM§() brain cell, For ex- 
ample, the board position indicated by 
WM$(1536) may contain C83B1A1C1B2 
as its winning moves. This example of- 
fers the five moves C3, B1, Al, C1, 
and B2. It's possible that there will be 
just one winning move (or none) 
stored for any one board position. 

Brain cells organize moves in order 
of preference; superior moves appear 
ahead of inferior moves. Using the pre- 
vious example, we see that the 1-3-5- 
7 program prefers the move C3 over 
B1, B1 over A1, and so on. Hoping to 
make the best move possible, this pro- 
gram always uses the first move found 
in a brain cell. 

After each game, 1-3-5-7 updates 
its brain cells in response to the out- 
come. Each move made by the win- 
ning player is placed into the brain 
cell corresponding to the board posi- 
tion in which the move was made. Con- 
sider the case when the player re- 
moves one piece from row A in the 
following board position: 


A) | 
B) Il 
C) Ill 
D) 


The string A1 is placed into 
WM§$(1230). If WM$(1230) already con- 
tains the move A1, then the A1 is 
bumped up by one move in the list. If 
the move A1 is already the first move 
in the list, no change is made. If A1 is 
not already in the list, then A1 is 
placed as the first move in the list. 


G-30 COMPUTE NOVEMBER 1991 


Each move made by the losing player 
is demoted in the brain cell correspond- 
ing to the board position in which the 
move was made. For example, let's 
say that the losing player removes two 
pieces from row C in the following 
board position: 


A) | 
B) Il 
C) Il 
D) Ill 


The string C2 is moved to the right or 
removed from WM$(1335). _ If 
WMS$(1335) contains the move C2, 
then the move is bumped down a 
notch. If C2 is the last move in the list, 
it is removed from the list. If C2 is not 
in the list, no change is made. 
Through this positive and negative re- 
inforcement, the computer modifies its 
playing style, improves its perform- 
ance, and—in its own cybernetic way— 
learns. Try to be a good teacher. 


1-3-5-7 


AS @ CLR 
CS 5@ REM COPYRIGHT 1991 - COM 
PUTE PUBLICATIONS INTL L 
TD - ALL RIGHTS RESERVED 
GOSUB1758:GOSUB1219 
GOSUB153@:GOSUB360 
PRINT PLS(OP,PL);"'S MO 
VE": PRINT 

ON (OP*2)+PL GOSUB426,5 
96,596,420,420,420,596, 
596,590,699 

GMS (MV) =BD$+" "+CHRS(R+ 
64) +CHRS$ (N+48) 

MV=MV+1: PL=ABS (PL-3) 
GOSUB866: GOSUB364 

IF EG=@ THEN126 

NM=MV-1 

REM 

REM ANNOUNCE WINNER 

REM 

PRINT "AND THE WINNER I 
5..." 

PRINT: PRINT PL$(OP,ABS ( 
PL-3)) 

GOSUB9490 

GET K$:IF OP=4 AND K$<> 
"<" THEN1I1G 

OP=6 

PRINT "{9 DOWN} 

{6 SPACES}= PRESS RETUR 
N TO CONTINUE ="; 

GET K$:IF K$<>CHR$(13) 
{SPACE} THEN280 

GOTO119 

REM 


160 
110 
126 


136 


146 


156 
166 
178 
186 
196 
260 
219 
226 


236 


248 
250 


260 
278 
286 


BD 
JP 


296 
306 


319 
328 
338 
340 
359 
360 
376 


380 
396 
406 
416 
426 
430 
446 
459 
466 


476 
480 
496 


500 
519 
529 


530 


548 
556 


566 
576 


586 
590 
609 
610 
626 
630 
640 


656 
669 


676 


680 
696 
766 
716 
726 
736 
748 
758 


766 
776 


788 


796 
800 


816 


REM DISPLAY BOARD 
REM 

PRINT CHRS (147) 
PRINT: PRINT 

FOR I=1 TO 4 

N=VAL (MID$ (BD$,1I,1)) 


PRINT CHR$(1+64);") "ZL 


REM GET HUMAN'S MOVE 
REM 

PRINT "ROW: 
GET K$:IF K$<"A" OR K$> 
"D" THEN460 

R=ASC (K$) -64 

X=VAL (MID$ (BD$,R,1)) 

IF VAL(BD$)=INT (16 (4-R 
)*X) THEN X=X-1 

IF X=@ THEN46G 

PRINT K$:R=ASC(K$) -64 
PRINT "NUMBER TO REMOVE 
e Me 

Bete 

GET K$:IF K$<"1" OR K$> 
CHR$(X+48) THEN5S3@ 
PRINT K$:N=VAL(K$) 
PRINT "{8 DOWN} 

{7 SPACES}= PRESS RETUR 
N TO ACCEPT ="; 

GET K$:IF KS="" THEN560 
IF K$<>CHR$(13) THEN GO 
SUB300:PRINT PL$(OP,PL) 
7""S MOVE": PRINT: GOTO42 
6 

RETURN 

REM 

REM GET COMPUTER'S MOVE 
REM 

BD=VAL (BD$) :MVS=WMS$ (BD) 
IF MVS="" THEN690 

R=ASC (MIDS (MV$,1,1))-64 
:N=VAL (MID$ (MV$,2,1) 
PRINT "ROW: ";CHRS (64+R) 
PRINT "NUMBER TO REMOVE 
sven 

IF OP<>4 THEN FOR I=1 T 
O 1000:NEXT I 

RETURN 

REM 

REM GET RANDOM MOVE 

REM 

ag="" 

FOR I=1 TO 4 

RS=MIDS$ (BD$,I,1) 

IF R$<>"G" THEN AS=AS+C 
HRS (1+48) 

NEXT I 

IF LEN(A$)=1 THEN R=VAL 
(A$) :GOTO790 

R=VAL (MIDS (A$, INT (RND (1 
) *LEN (A$) ) +1,1) 

X=VAL (MID$ (BDS$,R,1)) 

IF VAL (BD$)=INT (107 (4-R 
)*X) THEN X=X-1 
N=INT (RND (1) *X) +1 


We 
7 


11998 


12060 
1218 
1226 
1238 


PRINT "ROW: ";CHRS$(64+R) 
PRINT "NUMBER TO REMOVE 
BWA 

IF OP<>4 THEN FOR I=1 T 
O 1606:NEXT I 

RETURN 

REM 

REM EXECUTE MOVE AND CH 
ECK FOR WIN 

REM 
CN=VAL (MIDS (BD$,R,1) 
CN=CN-N 
BDS=MID$(BD$,1,R-1)+CHR 
$(CN+48) +MID$ (BD$,R+1,4 
) 

IF BDS="1696" OR BDS="@ 
166" OR BDS="8616" OR B 
DS$="9601" THEN EG=1 
RETURN 

REM 

REM LEARN FROM GAME 

REM 

REM{4 SPACES}REWARD WIN 
NING MOVES 

MV=MV-1:IF MV=0 THEN RE 
TURN 

BD=VAL (LEFT S$ (GMS (MV) ,4) 


MVS=RIGHTS (GMS (MV) , 2) 
F=0:AS$=WM$(BD):IF A$=" 
" THEN AS=MV$:GOTO1LO8G 
FOR I=1 TO LEN(A$) STE 
P 2 

IF MID$(A$,I,2)=MV$ TH 
EN F=I 

NEXT I 

IF F=@ THEN AS=MVS+A$: 
GOTO1680 

IF F=] THEN1G8@ 
AS=LEFTS (A$ ,F-3) +MVS+M 
ID$(A$,F-2,2) +MIDS$ (AS, 
F+2) 

WMS (BD) =AS 

REM{4 SPACES}PUNISH LO 
SING MOVES 

MV=MV-1:IF MV=@ THEN R 
ETURN 

BD=VAL (LEFT$ (GM$ (MV) ,4 


)) 
MVS=RIGHT S$ (GMS (MV) ,2 
F=0:AS=WMS$(BD):IF A$=" 
" THEN979 

FOR I=1 TO LEN(AS) STE 
P2 

IF MID$(A$,1,2)=MV$ TH 
EN F=I 

NEXT I 

IF F=@ THEN97@ 

IF F+1=LEN(AS$) THEN WM 
$ (BD) =LEFT$ (WM$ (BD) ,F- 
1) :GOTO976 

WMS (BD) =LEFTS (A$, F-1) + 
MIDS (A$,F+2,2) +MVS+MID 
$(AS,E+4) 

GOTO979 

REM 

REM LOAD EXPERINCE 

REM 


KQ 
KD 
EX 


PD 


DJ 


1246 
1258 


1266 


1276 


1286 


1296 
1306 


1316 
1326 


1336 


1349 
1359 
1366 
1379 
13898 
1396 
1466 


1416 


1420 
1438 


1446 
1456 


1466 
1476 


1486 
1496 


1596 
1516 
1526 
1536 
1546 


1558 
1568 
15798 


1589 
1596 
1669 


16198 
1626 
1638 


PRINT CHR$ (147) 

PRINT "LOAD PREVIOUS G 
AME EXPERIENCE? "; 

GET K$:IF K$<>"¥" AND 

{SPACE}KS$<>"N" THEN126 
G 

IF KS$="N" THEN PRINT " 
NO":FOR I=1 TO 500:NEX 
T I:GOTO1358 

PRINT "YES":PRINT: INPU 
T “FILENAME";A$:IF A$= 
"" THEN135@ 

OPEN 15,8,15 

OPEN 1,8,2,A$+".AI,S,R 
" 


INPUT#15,E,E$ 

IF E THENPRINT"* ";ES; 
" #"2FOR I=1T02500:NEX 
T I:CLOSE1:CLOSE15:GOT 
01219 
INPUT#1,BD:INPUT#1,MV$ 
:WMS (BD) =MV$:IF ST=6 T 
HEN133@ 

CLOSE 1:CLOSE 15 
RETURN 

REM 

REM SAVE EXPERIENCE 
REM 

PRINT CHR$(147) 

PRINT “SAVE GAME EXPER 
IENCE? "; 

GET KS$:IF K$<>"Y" AND 
{SPACE}K$<>"N" THEN141 
6 

IF K$="N" THEN PRINT " 
NO":GOTO1526 

PRINT "YES": PRINT: INPU 
T "FILENAME";AS:IF A$= 
"" THEN152@ 

OPEN 15,8,15,"SG:"+A$+ 
ALY 

OPEN 1,8,2,A$+".AI,S,W 
" 


INPUT#15,E,E$ 

IF E THENPRINT"* ";ES; 
" #":POR I=1T02500:NEX 
T I:CLOSE1:CLOSE15:GOT 
01369 

FOR I=1 TO 1357 

IF WM$(I)<>"" THEN PRI 
NT#1,1:PRINT#1,WMS (I 
NEXT I 

CLOSE 1:CLOSE 15 
RETURN 

REM 

REM PREPARE FOR NEW GA 
ME 

REM 

BDS$="1357" 

FOR I=1 TO NM:GM$(I)=" 
“3NEXT I 

MV=1 

EG=6 

IF OP=4 THEN WF=ABS (WF 
-3) : PL=WF:GOTO1746 
PL=1 

WE=1 

PRINT CHR$ (147) ;"{WHT} 


DF 
Js 


SH 


BC 


AA 


1649 
1656 


1666 


1678 


1688 


1696 


1766 
1716 


1726 


1736 
1746 
1756 
1768 
1776 
1786 
17968 
18690 
18190 
1826 
1839 


1849 
1850 
1866 


1876 
1880 


1896 


{7 SPACES}1-3-5-7 

{6 SPACES}" 

PRINT 

PRINT:PRINT " 

{2 SPACES}1) HUMAN MOV 
ES FIRST" 

PRINT:PRINT " 

{2 SPACES}2) COMPUTER 
{SPACE}MOVES FIRST" 
PRINT:PRINT " 

{2 SPACES}3) HUMAN VS 
{SPACE}HUMAN" 
PRINT:PRINT " 

{2 SPACES}4) COMPUTER 
{SPACE}VS COMPUTER" 
PRINT:PRINT " 

{2 SPACES}5) AUTO-LEAR 
N MODE" 

PRINT:PRINT " 

{2 SPACES}6) QUIT" 

GET K$:IF K$<"1" OR KS 
>"6" THEN1716 

IF K$="6" THEN GOSUB13 
60:PRINT:PRINT "THANKS 
FOR PLAYING" :END 

OP=VAL (K$) -1 

RETURN 

REM 

REM INITIALIZE PROGRAM 
REM 

X=RND (-TI) 

DIM WMS (1357) 

DIM GMS$(15) 

DIM PL$(4,2) 

RESTORE 

FOR OP=6 TO 4:FOR PL=1 
TO 2:READ PL$(OP,PL): 

NEXT PL:NEXT OP 

RETURN 

DATA THE HUMAN, THE COM 
PUTER 

DATA THE COMPUTER,THE 
{SPACE}HUMAN 

DATA HUMAN1,HUMAN2 
DATA COMPUTER1,COMPUTE 
R2 

DATA THE COMPUTER,MR. 
{SPACE} RANDOM 


Randy Thompson is the editor of Ga- 
zette's Programmer's Page." He lives 


in Eugene, Oregon. 


a 


SPORT CARD COLLECTOR 


By Kevin Scott Davis 

Sport card collecting is a fun and prof- 
itable hobby enjoyed by millions of Amer- 
icans. One of the least enjoyable parts 
of card collecting, however, is catalog- 
ing that collection. The usual method is 
to keep the inventory and prices on pa- 
per, but that can be a headache. The 
problem comes when it is time to make 


NOVEMBER 1991 


COMPUTE 4G-31 


PROGRAMS 


changes. It can be a messy and time- 
consuming task. 

Sport Card Collector was designed 
to eliminate these problems, It becomes 
much easier to alter card inventory and 
prices when the 64 lends a hand. Col- 
lector also can evaluate the value of 
your collection based on the prices you 
enter, and it can print out an orderly in- 
ventory. The program tracks card 
names, the number of cards and their 
condition, and price. 


Getting Started 

Sport Card Collector is written entirely 
in BASIC. To type it in, use The Auto- 
matic Proofreader; see ‘Typing Aids” 
elsewhere in this section. Be sure to 
save a copy of the program when 
you've finished typing. 


Options 

en you run the program, you are pre- 
sented with the main menu. Option 1 
on the menu allows you to load a new 
data file. If the memory is not empty, 
you will be prompted to erase it. You'll 
be asked for the set year and name 
(see option 3 for more details), and 
then the program will load. A counter 
will show you how many records (num- 
ber of cards) exist in the set and 
which record is being read. (If you en- 
ter a filename that does not exist, you'll 
have to reload the program.) 

Option 2 is Edit File. You'll first be 
asked if you want to start a new file. 
Again, you won't be able to do this if a 
file is still in memory. If your answer is 
Yes, you'll be asked how many records 
exist in the set. The counter will indi- 
cate the numbers as the file is created. 

The next option is to edit entire file 
or prices only. The Entire File option is 
used to edit all seven fields of the re- 
cord: Card Name, Number of Cards in 
Mint Condition, Number in Near Mint, 
Number in Excellent/Good, Number in 
Fair/Poor, Low Price, and High Price. 

If you have not differentiated the con- 
ditions of your cards, enter the total 
number in the Mint field and ignore the 
others (a 0 is automatically registered). 
You must use Entire File when entering 
data on a new file or changing the num- 
ber of cards. If you're merely making 
changes, it's not necessary to reenter 
all the previouly entered data. 

When you enter the card number to 


G32. COMPUTE NOVEMBER 1991 


edit, you'll be shown the existing data 
in that record. Hitting Return at any 
prompt will keep the data currently 
shown. In the Prices Only mode, you on- 
ly edit the low and high prices in each 
record. This is much faster than editing 
the entire file. In either edit mode, en- 
ter a O at the Card to Edit prompt to re- 
turn to the main menu. 

Option 3 allows you to save your 
file. It will ask for the set year and 
name. The year can be any length, but 
usually two digits will suffice, The set 
name is limited to five characters. A to- 
tal of seven characters is enough to 
identify a file, though. My 1990-91 Sky 
Box file, for example, is called 
91SKYBX. (For a convenience to disk 
subscribers, this 45-block file has 
been included on this month's Gazette 
Disk.) \f the program senses a file with 
the same name on the disk drive, the 
older one will be scratched. As the file 
is saved, the counter shows you the re- 
cord being saved at any moment. 

Option 4 prints out the file in memo- 
ry. You'll be asked for a data line to be 
printed at the bottom of the printout. 
This is ideal for identifying the set year/ 
name, date of prices, and so on. If 
there's no file in memory, the option 
will not work from the main menu. 

When you're ready to print, you'll be 
offered two choices of printouts. One is 
for separate card conditions, which 
prints different columns for mint, near 
mint, and so on. The second adds the 
four card fields and prints the total num- 
ber of cards. Make sure the printer is 
on and set to device 4 before hitting Re- 
turn after entering your choice. The 
printer can print approximately 65 re- 
cords per page. At the end of the list- 
ing, the set value will be calculated 
and printed, as explained in option 5. 

Option 5 evaluates the set's worth. 
This calculation will depend on the val- 
ues you've entered for each card. This 
program was designed around the stan- 
dards of the Beckett card magazines, 
the industry benchmark. Of course, 
you can use any price values you 
care to assign as long as they include 
high and low values. 

Just as with the Beckett prices, the 
figure given by this option is merely a 
guide to your collection's value. You 
may not be able to sell your set for 
these prices. This option works by tak- 


ing the number of cards you have in 
each category, multiplying the number 
to obtain a high value and low value, 
and then multiplying by percentage al- 
lowances for card conditions. 

The allowances are 100 percent of 
price for mint cards, 75 percent for 
near mint, 60 percent for excellent/ 
good, and 10 percent for fair/poor. 
While these are not exactly Beckett stan- 
dards, incorporating all eight card con- 
ditions would take too much memory to 
be efficient. There is also too much over- 
lap in the percentages in the eight 
fields to be included. If you use differ- 
ent percentages for card grading 
(such as the higher percentages for old- 
er cards), change the values in lines 
2000 and 2020. While the values are be- 
ing calculated, a counter shows you 
the progress of the program. The pric- 
es are shown; then press any key to re- 
turn to the program's menu. 

Option 6 allows you to view the re- 
cords of the file in memory. You'll be 
asked for the card number to view. 
You'll be shown the seven fields of the 
record for which you prompt. You can 
then request another record or enter 0 
to return to the menu. 

Option 7 erases any data in memo- 
ty. You will be asked to confirm this op- 
tion. Once the data is erased, there is 
no way to retrieve it, so be careful! 


64 and 128 Modes 
Sport Card Collector will run in both the 
64 and the native 128 modes. In the 
128 mode, you have access to the key- 
pad. As 80 percent of all data entry is 
entered by number, | find the keypad 
makes data entry easier and faster. 
The main advantage of the 128 is its 
larger memory. It can handle approxi- 
mately 1800 cards. | would not recom- 
mend more than 750 cards per file in 
64 mode. (| break up the few sets with 
more than 750 cards into two files, 
such as 89TOPP1 and 89TOPP2). Col- 
lector may occasionally appear to lock 
up with the counter stuck on card num- 
ber 1. Be patient, though; in less than 
ten seconds the program will continue. 
| use this program to hold my own 
basketball card records. The longest 
task when using this program is enter- 
ing the data for the first time. Then be 
Prepared to spend several hours at the 
computer the first time you edit a file. 


Of course, you can save an incomplete 
file to disk and then reload it later and 
finish the job of entering data. 

Once a file is set up, changing pric- 
es from month to month is quick and 
easy. Each month Beckett prints its 
list of prices with up and down arrows 
to indicate changes from the previous 
month. Once you have the hang of it, 
an entire file can be updated quickly. 

Older sets are not as volatile; there- 
fore, they may not need their value up- 
dated every month. Just as with collect- 
ing itself, you can get as much out of 
this program as you are willing to put 
into it. I've found it easy to carry my 
inventory printout to card stores and 
sport card conventions. My friends and 
other collectors find the printout easy 
to read, and it shows them which 
cards have duplicates that | might be 
willing to put up for trade. 


SPORT CARD COLLECTOR 


AS @ CLR 

KP 5 REM COPYRIGHT 1991 — COMP 

UTE PUBLICATIONS INTL LTD 

- ALL RIGHTS RESERVED 
YL=@ 

POKE 53280,0:POKE53281,0 
PRINT (CHR$ (147) ) 
PRINT" {3 DOWN} 

{1@ SPACES }{8}UDDDDDDDDD 
DDDDDDDDDDDI" 

PRINT" {1@ SPACES}{8}G 

{5 SPACES}{RVS} {P} 
{OFF} {RVS}{V}{P}{CP 
{OFF} {RVS}{V}{P}{Cd 
{OFF} {8}{3 SPACES}H" 
PRINT"{16 SPACES}G 

{5 SPACES}{RVS} {OFF} 

{2 0} {RVS} {OFF} 

{3 SPACES}{RVS} {OFF} 

{6 SPACES}H" 

PRINT"{1@ SPACES}G 

{5 SPACES}{1}{P}{RVS} 
{OFF} {RVS}{F}{Y}{D> 
{OFF} {RVS}{F}{Y}{D} 
{OFF}{4 SPACES}H" 
PRINT"{10 SPACES}GEEEEEE 
EEEEEEEEEEEEEEH" 

PRINT" {10 SPACES}GSPORT 
{SPACE}CARD COLLECTORH" 
160 PRINT"{1@ SPACES}{Q}DDD 

DDDDDDDDDDDDDDDDD{W}™ _ 

116 PRINT"{19 SPACES}G{RVS} 
{1] LOAD FILE{7 SPACES} 
{OFF}H" 

126 PRINT"{1@ SPACES}G{RVS} 
[2] EDIT FILE{7 SPACES} 
{OFF}H" 

130 PRINT"{1@ SPACES}G{RVS} 
[3] SAVE FILE{7 SPACES} 


cc 
KG 
AQ 
JE 


19 
26 
30 
40 


KM 56 


RC 66 


AE 70 


SA 88 


DH 96 
Qs 


Cx 


BS 


KX 


BA 


KC 


HD 


DJ 
RS 


149 


158 


160 


176 


186 
198 
206 
216 
226 
230 
246 


250 
260 


278 
289 


298 
369 


316 


326 
336 
346 


350 


366 


376 
388 


396 
400 
419 


429 
430 


446 
459 


{OFF}H" 

PRINT"{16 SPACES}G{RVS} 
{4] PRINT FILE 

{6 SPACES}{OFF}H" 
PRINT"{19 SPACES}G{RVS} 
[5] EVAL. SET PRICE 
{OFF}H" 

PRINT"{1@ SPACES}G{RVS} 
[6] VIEW FILE{7 SPACES} 
{OFF}H" 

PRINT"{16 SPACES}G{RVS} 
[7] ERASE MEMORY 

{4 SPACES} {OFF}H" 
PRINT"{1@ SPACES} JFFFFF 
FFFFFFFFFFFFFFFK" 


IF FS="" THEN XW$="**NO 
NE**" 
PRINT"{9 SPACES}FILE IN 


MEMORY: "XWS 

PRINT: PRINT"{13 SPACES} 
CHOOSE: [1 TO 7]" 

GET X$:IF X$="" THEN 22 
8 

X=VAL (X$):IF X<1 OR X>7 
THEN 20 

ON X GOTO 259,560,1128, 
1386,1880,2200,2150 

REM LOAD FILE 

PRINT" {CLR}{15 SPACES}L 
OAD FILE":PRINT 
PRINT"ENTER SET YEAR 
(WHT }" 

POKE19,65:INPUT SY$:PRI 
NT:PRINT"{8}ENTER SET N 
AME [MAX 5 CHARS.] {WHT} 
" 


POKE19,65: INPUT SN$ 

IF XW$<>"**NONE**" THEN 
PRINT: PRINT"{8}MUST ER 

ASE MEMORY FIRST!" 

IF XW$<>"**NONE**" THEN 
PRINT"PRESS ANY KEY TO 
GO TO MAIN MENU" 

IF XW$<>"**NONE**" THEN 
GET HY$ 

IF XW$<>"**NONE**" AND 

{SPACE}HY$="" THEN 328 

IF XWS<>"**NONE**" THEN 
26 

PRINT: PRINT: PRINT"{8}IN 

SERT DISK AND PRESS A K 

EY/'N' ABORTS" 

GET K$:IF K$="" THEN 36 

6 

IF K$="N" THEN 26 

FS=SY$+SNS$:OPEN8,8,8,F$ 

+ S,R" 

INPUT#8 , YT: INPUT #8 ,GC 

GOSUB 2366 

PRINT" {CLR}"zPRINT"{8}T 

OTAL RECORDS IN THE SET 
Hud 40 

RN=1 

PRINT"ON RECORD NUMBER: 
{WHT} 1" 

FOR TM=l1 TO YT 

INPUT #8 ,CMS (TM) : INPUT#8 
,MTS$ (TM) : INPUT#8 , NM$ (TM 


RP 


KS 


XM 


FP 


JB 


MK 


EH 


DB 


HP 
EB 


SA 


XF 


FD 


EP 


) : INPUT#8,GDS (TM) 
460 INPUT#8,FPS (TM) :INPUT#8 
, LOS (TM) : INPUT#8,HIS (TM 


) 

478 PRINT" {WHT} {HOME} 
{2 DOWN}{17 RIGHT}"TM 

480 NEXT TM 

498 CLOSES 

500 OPEN15,8,15:INPUT#15,EN 
,EM$,ET,ES 

510 PRINT: PRINT: PRINT: PRINT 
"{8}DRIVE STATUS:":PRIN 
TEN;EMS;ET;ES 

520 CLOSE15: PRINT: PRINT" PRE 
SS ANY KEY TO CONTINUE" 

530 GET WOS:IF WOS="" THEN 
{SPACE}536 

549 XWS=FS 

558 GOTO 20 

560 REM EDIT FILE 

576 PRINT"{CLR}" 

586 PRINT"{8}START BRAND NE 
W FILE?? [Y/N]" 

590 GET YNS:IF YNS="" THEN 
{SPACE}596 

600 IF YNS="Y" AND. XWS<>"** 
NONE**" THEN PRINT"ERAS 
E MEMORY FIRST! [HIT AN 
Y¥ KEY)" 

610 IF YNS="Y" AND XWS<>"** 
NONE**" THEN GOTO 2576 

620 IF YNS="Y" THEN INPUT" 
{8}HOW MANY CARDS? {WHT} 
";YT:F$="WORK": XWS="WOR 
K":GOSUB2360 

636 IF YNS="Y" THEN GOSUB 2 
496 

640 PRINT"{8}EDIT [1] ENTIR 
E FILE{2 SPACES}[2] PRI 
CES ONLY{WHT}{2 SPACES} 
" 


650 POKE19,65: INPUT TES$:TE= 
VAL (TES) :IF TE=2 THEN 9 
76 

666 PRINT:PRINT"{8}CARD NUM 
BER TO EDIT [@ TO EXIT] 
" 


676 PRINT"THERE ARE"YT"CARD 
S IN THE SET. {WHT}" 

686 POKE19,65:INPUT CE$:CE= 
VAL (CE$) 

696 IF CE=@ THEN 26 

708 IF CE>YT OR CE<@ THEN 6 
68 

716 PRINT"{CLR}{8}CARD NUMB 
ER: "CE:PRINT CM$(CE) :P 
RINT"# IN MINT: 
{6 SPACES}"MT$ (CE) 

726 PRINT"¢ IN NRMT: 
{6 SPACES}"NMS (CE) 

738 PRINT"# IN GOOD: 
{6 SPACES}"GD$(CE) :PRIN 
T"# IN FAIR/POOR: "FPS ( 
CE) 

740 PRINT"LOW PRICE: 
{6 SPACES}"LO$(CE) : PRIN 
T"HIGH PRICE:{5 SPACES} 
"HIS (CE) 
NOVEMBER 1991 


COMPUTE G-33 


PROGRAMS 


756 
760 


776 
786 


796 
800 


819 
820 
830 
846 
850 
860 
876 
880 
899 
906 


910 
920 


938 


946 
956 


966 
976 
986 
999 
1668 
1016 
1626 
1636 
1646 
1656 
1968 


1676 
1689 


1696 


1166 
1116 
1126 
1136 


PRINT: PRINT"CARD NUMBER 
i'CE 
PRINT"NAME [LESS THAN 2 
@ CHARACTERS] {WHT}":POK 
E19,65 
INPUT CM$(CE):IF LEN(CM 
$(CE))>2@ THEN 760 
PRINT: PRINT"{8}NUMBER O 
F CARDS IN MINT{WHT}" 
INPUT MT$(CE) 
IF MT$(CE)="" THEN MTS ( 
CE)="9" 
PRINT: PRINT"{8}NUMBER O 
F CARDS IN NEARMINT 
{WHT}" 
INPUT NM$(CE) 
IF NM$(CE)="" THEN NMS ( 
CE)="9" 
PRINT: PRINT"{8}NUMBER O 
F CARDS IN EXC./GD. 
{WHT}" 
INPUT GDS$(CE) 
IF GD$(CE)="" THEN GD$( 
cE) ="g" 
PRINT: PRINT"{8}NUMBER O 
F CARDS IN FAIR/PR. 
{WHT }" 
INPUT FP$(CE) 
IF FPS$(CE)="" THEN FPS ( 
CE) ="g" 
PRINT: PRINT"{8}LOW VALU 
E{WHT}" 
INPUT LO$(CE) 
IF LO$(CE)="" THEN LOS$( 
CE) ="9" 
PRINT: PRINT"{8}HIGH VAL 
UE{WHT}" 
INPUT HI$(CE) 
IF HI$(CE)="" THEN HIS$( 
CE)="g" 
GOTO 660 
REM EDIT PRICES ONLY 
PRINT"{CLR}" 
PRINT"{8}CARD NUMBER TO 
EDIT [@ TO EXIT]" 
PRINT"THERE ARE"YT"CAR 
DS IN THE SET.{WHT}":P 
OKE19,65:INPUT CE 
IF CE=@ THEN 20 
PRINT"{8}CURRENT: " 
PRINT"PLAYER NAME: 
$ (CE) 
PRINT"LOW PRICE: 
{3 SPACES}"LOS (CE) 
PRINT"HIGH PRICE: 
{2 SPACES}"HIS$ (CE) 
PRINT: PRINT"INPUT NEW 
{SPACE} PRICES": PRINT 
PRINT"LOW VALUE {WHT}" 
POKE19,65:INPUT LO$(CE 
) 
PRINT"{8}HIGH VALUE 
{WHT }" 
INPUT HI$(CE) 
PRINT:GOTO 999 
REM SAVE FILE 
IF XWS="**NONE**"THEN 
{SPACE}PRINT"NO FILE E 


"CM 


G-34 COMPUTE NOVEMBER 1991 


FX 
JR 
MX 


FQ 


ME 


JF 


KE 
PS 
JX 
Qx 


GG 


QB 


FH 


AD 


ER 


HE 


HC 


1146 
1156 
1166 


1176 


1186 


1196 


1206 
1216 
1226 
12390 
1246 
1256 
1266 
1276 
1286 
12968 


1366 
1316 
1326 
1336 


1346 


1356 


1366 
1376 
1386 
13968 


1466 


1416 


1426 


1436 


1449 


1456 


1466 


XISTS! [HIT ANY KEY]" 
IF XWS="**NONE**" THEN 
GOTO 2578 
PRINT" {CLR}{15 SPACES} 
SAVE FILE": PRINT 
PRINT"{8}ENTER SET YEA 
R{WHT}" 
POKE19,65:INPUT SY$:PR 
INT: PRINT"{S}ENTER SET 
NAME [MAX 5 CHARS.] 
{WHT}" 
INPUT SN$:IF LEN(SN$)> 
5 THEN 1180 
PRINT: PRINT: PRINT"{8}1 
NSERT DISK AND PRESS A 
KEY/'N' ABORTS" 
GET K$:IF KS="" THEN 1 
268 
IF K$="N" THEN 20 
GOSUB 2350 
PS=SY$+SNS$:XWS=F$:0PEN 
8,8,8,FS+",S,W" 
PRINT#8, YT: PRINT#8 ,GC 
PRINT" {CLR}": PRINT" TOT 
AL RECORDS IN THE SET: 
Ryat 
PRINT"ON RECORD NUMBER 
: {WHT} 1" 
FOR TL=1 TO YT 
PRINT#8,CMS (TL) : PRINT# 
8,MTS (TL) : PRINT#8,NMS ( 
TL) : PRINT#8,GD$ (TL) 
PRINT#8,FPS (TL) : PRINT# 
8,LO$ (TL) : PRINT#8,HIS ( 
TL) 
PRINT" {HOME}{2 DOWN} 
{17 RIGHT} "TL 
NEXT TL 
CLOSE8 
OPEN15,8,15:INPUT#15,E 
N,EM$,ET,ES 
PRINT: PRINT: PRINT: PRIN 
T"{8}DRIVE STATUS:":PR 
INTEN;EM$;ET;ES 
CLOSE15: PRINT: PRINT"PR 
ESS ANY KEY TO CONTINU 
E" 
GET WOS:IF WOS="" THEN 
1366 
GOTO 26 
REM PRINTOUT 
IF XWS$="**NONE**" OR F 
$="**NONE**" THEN 20 
PRINT" {CLR}" 
PRINT"{13 SPACES}HARD 
{SPACE}COPY" 
PRINT"{2 SPACES}THIS W 
ILL PRINT THE FILE IN 
{SPACE }MEMORY" 
PRINT"{2 SPACES}MAKE S 
URE YOUR PRINTER IS ON 
DEV 4" 
PRINT: PRINT"ENTER YOUR 
DATA LINE [UNDER 49 C 
HARS.] {WHT}" 
POKE19,65:INPUT DL$:IF 
LEN(DL$)>48 THEN 1446 
PRINT: PRINT: PRINT: PRIN 


SG 


XX 


1476 
1486 
14996 
1566 


15196 
1526 


1536 
1546 


1550 
1566 


1576 
15868 
1596 
16068 
1619 
1626 
1636 


1649 
1650 


1660 
1676 
1686 
1696 
1766 
17196 
1726 


1736 
1746 


1756 
1766 


1776 
1789 


1796 


1866 


T"{8}CHOOSE [1] SEP. C 
ARD COND. [2] STANDARD 
{WHT}" 
POKE19,65:INPUT VR:IF 
{SPACE}VR=2 THEN 1726 
PRINT: PRINT"{9 SPACES} 
THEN PRESS ANY KEY" 
GET WES$:IF WES="" THEN 
1499 
OPEN4, 4 
GHS=CHRS$ (14) 
PRINT#4,"":PRINT#4,"" 
PRINT#4,CHRS(14)" 
{1@ SPACES}SPORT CARD 
{SPACE}COLLECTOR" 
PRINT#4,CHRS(14)" 
$39 T}"CHRS (15) 
PRINT#4,GHS"C# CARD-NA 
ME #MT #NM #EG #FP LO 
{3 SPACES}HI{2 SPACES} 
"CHRS (15) 
FOR TP=1 TO YT 
PRINT#4,CHR$ (16) "G1"+S 
TRS (TP); 
PRINT#4,CHRS$ (16) "G8"+C 
M$ (TP); 
PRINT#4,CHRS (16) "28"4M 
TS (TP); 
PRINT#4,CHRS (16) "36"4N 
MS(TP); 
PRINT#4,CHRS (16) "44"+G 
DS (TP); 
PRINT#4,CHRS$ (16) "52"+F 
PS (TP); 
PRINT#4,CHRS$ (16) "58"+L 
OS (TP); 
PRINT#4,CHRS (16) "68"+H 
I$ (TP) 
NEXT TP 
PRINT#4,CHR$(14)" 
£39 T}"CHRS(15) 
PQ=1:GOTO 1926 
PRINT#4,"":PRINT#4,"" 
OO=LEN (DL$) :SS=49-00:S 
D=,5*SS 
PRINT#4,CHRS$ (14) ""SPC( 
SD) ""DLS 
CLOSE 4 
GOTO 26 
OPEN4, 4 
GHS=CHRS$ (14) 
PRINT#4,"":PRINT#4,"": 
PRINT#4,CHR$(14)" 
{16 SPACES}SPORT CARD 
{SPACE }COLLECTOR" 
PRINT#4,CHR$(14)" 
{39 T}"CHRG (15) 
PRINT#4,CHRS$ (14) "C# CA 
RD-NAME{2 SPACES}#/CAR 
DS{2 SPACES}LO 
{2 SPACES}HI{2 SPACES} 
"CHR$ (15) 
FOR TP=1T0YT 
PRINT#4,CHR$ (16) "91"+S 
TRS (TP); 
PRINT#4,CHR$ (16) "G8"+C 
MS (TP); 
M=VAL (MTS (TP) ) :N=VAL(N 


1816 
1829 


1836 
1848 


1858 
1860 


18798 
1886 
1896 
1968 
1916 
1929 
1936 
1946 
1958 
1968 
1976 


1986 


1996 
2009 
2016 


2026 


2036 
2046 
2050 
2066 


2076 


2689 


2698 


2196 


2116 
2126 


2138 
21496 
2156 
2166 


21798 


M$ (TP) ) sE=VAL (GDS (TP) ) 
:F=VAL (FP$ (TP) ) 
TH=M+N+E+F 
PRINT#4,CHRS (16) "36"+S 
TRS (TH); 
PRINT#4,CHRS$ (16) "46"+L 
O$ (TP); 
PRINT#4,CHRS (16) "54"+H 
I$ (TP) 

NEXT TP 
PRINT#4,CHRS$(14)" 

£39 T}"CHRS(15) 
PS=2:GOTO 1920 

REM EVAL SET WORTH 

IF XWS$s"**NONE** "THEN 
{SPACE}PRINT"NO FILE! 
{SPACE} [HIT ANY KEY]" 
IF XWS="**NONE**"GOTO 
{SPACE}2579 

PS=1:PQ=G 

IF GC=1 THEN 2146 
PRINT" {CLR} {8}EVALUATI 
NG SET WORTH:"YT" ITEM 
Sem 

PRINT"SCANNING RECORD 
{SPACE}NUMBER: {WHT} 1" 
HS=6:LS=6 

FOR T=1 TO YT 
PRINT" {HOME } {DOWN} 

{23 RIGHT}"T 

M=VAL (MTS (T) ) :N=VAL (NM 
$(T)) :E=VAL (GD$(T)):P= 
VAL (FP$(T)) :LP=VAL (LOS 
(T)) 

HP=VAL (HI$(T) ) 

IF PS<>2 THEN LV=((M+( 
«75*N) +(.60*E) +(.10*G) 
)*LP) 

IF PS=2 THEN LV=((M+N+ 
E+P) *LP) 

IF PS<>2 THEN HV=((M+( 
«75*N) +(.60*E) +(.16*P) 
) *HP) 

IF PS=2 THEN HV=((M+N+ 
E+P) *HP) 
HS=HS+HV:LS=LS+LV 

NEXT T 

PRINT"{5}LOW SET VALUE 
"LS 

IF PQ=1 OR PS=2 THEN P 
RINT#4,"SET — LOW VALU 
E"LS 

PRINT"HIGH SET VALUE"H 
Ss 

IF PQ=1 OR PS=2 THEN P 
RINT#4,"SET - HIGH VAL 
UE"HS 

IF PS=2 OR PQ=1 GOTO 1 
679 

PRINT"PRESS ANY KEY" 
GET HH$:IF HHS$=""THEN 
{SPACE}2120 

GOTO 20 

GOTO 1930 

REM CLEAR DATA 

PRINT" {RVS}ARE YOU POS 
ITIVE [Y/N] {OFF}" 

GET QW$:IF QWS="" THEN 


BC 


SG 


2186 
21998 
2206 
22190 
2226 


2239 
2246 
2256 
2266 
2276 
2286 
2296 
2366 
23190 
2328 
23308 
2348 
2356 


2366 
2376 


2386 
2396 


2496 
2416 
2426 
2436 
2446 
24598 
2466 
2476 
2486 
2496 


2596 
25168 
2526 
2538 
25468 
2558 
2568 
25768 


2586 


2170 

IF QWS="N" THEN 20 
RUN 
REM VIEW CARDS 
PRINT" {CLR}" 
PRINT:PRINT"{8}SET: "F 
$:PRINT"CARD NUMBER? [ 
@ TO EXIT)" 
PRINT" THERE ARE"YT"CAR 
DS IN THE SET. {WHT}" 
POKE19,65:INPUT CD$:CD 
=VAL (CDS) 
IF CD=G THEN 20 
IF CD>YT THEN 2226 
PRINT" {CLR}":PRINT"{8} 
PLAYER'S NAME: "CM$(CD 


) 

PRINT"CARDS IN MT: 

{2 SPACES}"MT$(CD) 

PRINT"CARDS IN NM: 

{2 SPACES}"NMS (CD) 

PRINT"CARDS IN EG: 

{2 SPACES}"GDS (CD) 

PRINT"CARDS IN FP: 

{2 SPACES}"FP$ (CD) 

PRINT"LOW PRICE: 

{4 SPACES}"LO$ (CD) 

PRINT"HIGH PRICE: 

{3 SPACES}"HI$(CD) 

PRINT:GOTO 2220 

FS=SYS$+SNS$:O0PEN 15,8,1 

5:PRINT#15,"SG:"+FS+", 

S":CLOSE15: RETURN 

REM DIM SUBROUTINE 

IF YT<=@ THEN PRINT" 

{8}ERROR! PRESS ANY KE 

y" 

IF YT<=@ THEN GET XH$ 

IF YT<=@ AND XH$="" TH 

EN 2380 

IF YT<=9 THEN 26 

DIM CM$ (YT) 

DIM MTS (YT) 

DIM NM$ (YT) 

DIM GDS$(YT) 

DIM FP$(YT) 

DIM LOS$(YT) 

DIM HI$(YT) 

RETURN 

PRINT" {CLR}{8}SETTING 

{SPACE}UP FILE -"YT"RE 

corps" 

PRINT"ON RECORD NUMBER 

: {WHT}1" 

FOR TQ=1 TO YT 

CMS (TQ) ="O"sMTS (TQ) =" 

"NMS (TQ) ="@":GDS (TQ) = 

gn 

FP$ (TQ) ="0":LO$ (TQ) =" 

"SHIS (TQ)="9" 

PRINT" {HOME } {DOWN} 

{17 RIGHT}"TQ 

NEXT TQ 

RETURN 

GET XL$:IF XL$="" THEN 
2578 

GOTO 26 


Kevin Scott Davis is an honor student 
in high school and has a card collec- 
tion of more than 2000 basketball play- 
ers. He lives in Winter Park, Florida. O 


FILE COPIER 


By Daniel Lightner 

Use this disk utility program to copy sin- 
gle files or groups of files and to per- 
form other functions as well. File Copi- 
erloads the disk directory into memory 
and lets you freely thumb through its con- 
tents, tagging as many files as you like. 

For example, you can copy these 
tagged files to another disk, scratch 
them, or rename them. File Copier per- 
forms other operations as well, such as 
formatting or validating a disk. 

File Copier is written entirely in ma- 
chine language. To type it in, use MLX, 
our machine language entry program; 
see “Typing Aids” elsewhere in this sec- 
tion. When prompted for starting and 
ending addresses, respond with the 
following values. 


Starting address: 0801 
Ending address: 1458 


Be sure to save a copy of File Copier 
before you exit MLX. 


Getting Started 

File Copier loads and runs like a BA- 
SIC program. After File Copier has 
been started, it deletes 684 bytes, 
about three disk blocks, from the end 
of itself. This is where File Copier 
starts loading the files you select. 

File Copier can load up to 48,722 
bytes or 191 disk blocks at a time. 
When this memory is filled, the pro- 
gram will instruct you to place the tar- 
get disk (the disk you want these files 
copied to) in drive 8 for saving. 

When it has finished saving this first 
block of memory and you have select- 
ed more files, File Copier will instruct 
you to put the source disk back in the 
drive to continue the copying process. 


First Things First 

When you first run File Copier, it at- 

tempts to load the directory of any 

disk in drive 8. If you wish to format a 

disk, do not place it in the drive until af- 
NOVEMBER 1991 COMPUTE  G-35 


PROGRAMS 


ter File Copier has read a disk directo- 
ry, perhaps the one that you loaded 
File Copier from. After it has read the di- 
rectory, if you wish to format a disk, 
then place the unformatted disk in the 
drive and choose the format option. 


Menu Selections 

When File Copier runs, all of its func- 
tions are listed on the screen, as 
shown below. Make selections by press- 
ing the appropriate function key. 


f1—VALIDATE DISK 
f2—SCRATCH 
f8—RENAME 
f4—FORMAT 
#5—DIRECTORY 
f6—QUIT 
f7—COPY 
f8—ABORT 


You will see the greater-than sign (>) 
on the lower left portion of the screen. 
This pointer is where all information 
will be displayed during operation. 

To select files after File Copier has 
loaded the directory, use the Crsr Up/ 
Down keys to scroll up and down the 
directory listing. When you see a file 
you wish to select, press the Return 
key. Notice that the filename is now fol- 
lowed by an arrow. This arrow is to in- 
dicate that this file has been selected. 
If you change your mind about your se- 
lection, you may press the Return key 
again to toggle the selection off again. 

After you have made your selec- 
tions, choose the desired function key. 
lf you find that you have made the 
wrong choice, use the f8 key to abort 
that selection. Abort the selection only 
when File Copier is showing the option 
name and the Press Key prompt. If you 
press any other key, the program will ac- 
tivate the indicated function. So be care- 
ful; you could accidentally delete files 
that you intended to copy. If you only 
want to copy files, it is best to put a 
write-protect tab on your source disk. 

When you choose the Format op- 
tion, File Copier asks you to provide a 
name for the disk you are formatting; 
then it asks for an ID. This is a two- 
step process, so do not provide the ID 
when you enter a disk name. 

To rename selected files, just follow 
the onscreen prompts. File Copier first 
shows you the current selection and 


G-36 COMPUTE NOVEMBER 1991 


prompts for a keypress. It then asks for 
the desired new name. Enter the new 
name and press Return. 

If you select the Scratch option, File 
Copier will delete all marked files un- 
less you decide to abort the process at 
the Press Key prompt. So be sure that 
the files you have picked are ones 
that you really don't need. 

The remaining functions are self- 
explanatory. File Copier keeps you 
informed with various onscreen messag- 
es while all selected functions are 
being carried out. 


FILE COPIER 


Go 
26 
56 
27 


GA 
3A 
4P 
31 
Ut) 
D8 
8D 
8D 
61 
pc 
8D 
@D 
FE 
Ag 
8D 
26 
RE 
29 
27 
2B 
38 
43 
7B 
26 
68 
59 
26 
68 
B9 
E4 
9D. 
B9 
Go 
G1 
FE 
gl 
@1 
U1) 
62 
26 
99 
ty 
E8 
F2 
91 
60 
i) 
26 
cD 
2c 


9E 
46 
49 
C1) 
GG 9G 
Ad OG 
26 DG 
GE DC 
AD GE 
AIICL 
14 63 
20 BI 
G9 26 
96 8D 
C3 G2 
07 GA 
c9 11 
c9 @D 
C9 87 
co 85 
C9 86 
4c 81 
G8 26 
12 69 
4C 62 
G8 26 
12 69 
26 97 
6D 29 
4C E2 
GE 4C 
Gl 70 
99 G1 
99 61 
69 AG 
8D A8 
78 C9 
76 DB 
68 8C 
G7 GA 
AC FA 
A2 GO 
26 EC 
AQ 96 
FD 26 
4c 74 
F@ F6 
BD GA 
A2 93 
FO G6 


B9 
BB 
15 
A3 
51 
9E 
41 
D8 
24 
51 
4F 
gC 
49 
AG 
8A 
c8 
DB 
27 
46 
41 
6F 
F4 
FB 
7B 
79 
15 
DF 
FO 
91 
3B 
AT 
FE 
F8 
21 
BD 
BA 
41 
83 
5D 
8A 
87 
96 
68 
7c 
36 
98 
74 
the 
D4 
19 


G861:1E 
9869:38 
G811:26 
@819:27 
@821:00 
@829:CC 
@831:A9 
6839:29 
G841:FE 
6849:8D 
@851:A9 
859326 
@861:19 
9869:31 
G871:A8 
G879:A2 
G881:26 
6889:91 
@891:89 
G899:8A 
G8A1:8B 
@8A9:88 
98B1:0A 
@8B9:7B 
98C1:4C 
@8C9:GB 
@8D1:59 
@8D9:4C 
G8E1:9D 
G8E9:8C 
G@8F1:09 
G8F9:A2 
9961:68 
G969:88 
G911:98 
6919:62 
@921:70 
6929:C8 
@931:8D 
G939:A2 
9941:28 
9949:99 
G951:91 
G959:63 
G961:EC 
O969:FF 
6971:03 
9979:A5 
9981:A5 
9989:FB 


g8 
26 
43 
39 
Uy) 
FF 
@5 
FE 
85 
GE 
34 
94 
26 
B 
62 
G3 
E4 
FG 
FO 
FO 
FG 
FG 
4c 
98 
59 
4c 
08 
59 
20 
Fo 
26 
63 
Ag 
Ag 
29 
AQ 
B9 
cc 


G991:4C 
G999:GA 
G9A1:A5 
G9A9:34 
G9B1:FG 
G9B9:E8 
@9C1:AD 
G9C9:20 
G9D1:FB 
G9D9:FO 
G9E1:C9 
G9E9:FG 
G9F1:AD 
G9F9:4C 
GAG1:FD 
GAG9:GA 
GA11:E8 
GA19:D6 
@A21:AD 
GA29:695 
GA31:A2 
GA39:BGO 
@A41:61 
GA49: 98 
@A51:BD 
GA59:29 
GA61:6D 
GA69:C6 
GA71:06 
GA79:61 
GA81:E4 
GA89:26 
GA91:26 
GA99:FF 
GAA1:GA 
GAAS: FF 
GAB1:91 
GAB9:G2 
@AC1:A9 
GAC9: 36 
GAD1:19 
GAD9:8A 
GAE1:69 
GAE9:85 
OAF1:85 
GAF9: 69 
GBG1:A9 
@BG9:8D 
GB11:FO 
@B19:26 
OB21:FO 
GB29:GA 
9B31:26 
GB39:AG 
9B41:C9 
9B49:3B 
9B51:63 
@B59:GA 
OB61:06 
GB69:78 
@B71:65 
GB79:4C 
9B81:6D 
9B89:8C 
GB91:FO 
9B99:FE 
@BA1:26 
@BA9: 8D 
9BB1:93 
GBB9: 93 


26 
Gl 
Ut) 
cg 
35 
GA 
34 
OA 
G3 
Ol 
26 
a9 
G4 
B7 
20 
D2 
13 
6C 
96 
ol 
cg 
03 
ty 
alt 
AG 
20 
62 
FF 
GA 
FF 
BO 
FO 
26 
4c 
26 
Ag 
EE 
85 
22 
G1 
DG 
AS 
69 
69 
85 
FG 
Ag 
cg 
91 
cg 
4c 
G2 
Go 
FO 
GA 
AD 
26 
03 
99 
c8 
A2 
26 
16 
cg 
G2 
O7 
20 
99 
CE 
B9 


6BC1:03 
@BC9:DG 
@BD1:8D 
@BD9: G2 
GBE1:02 
OBE9: G7 
@BF1:29 
GBF9:07 
GCO1:AG 
9CB9:CB 
@C11:35 
6C19:03 
6C21:26 
GC29:GE 
@C31:E8 
6C39:63 
GC41:8A 
GC49:GA 
9C51:87 
GC59:GA 
GC61:76 
9C69:GD 
@C71:8C 
@C79:99 
OC81:AG 
6C89:67 
6C91:26 
6C99:67 
GCA1:D2 
9CA9360 
@CB1:B9 
@CB9:A9 
@CC1:AD 
@CC9:FD 
OCD1:E8 
GCD9: 34 
@CE1:EC 
@CE9:DG 
OCF1:AG 
OCF9:26 
@DO1:F1 
6D69:87 
@D11:GA 
GD19:60 
@D21:CC 
9D29:4B 


63 
AD 
26 
62 
$B 
D2 
cg 
c8 
E4 
DB 
4B 
AD 
26 
Ag 
B9 
co 
8D 
GE 
8c 
@D 
26 
@D 
AG 
c8 
93 
G4 
cg 
D7 
FG 
OA 
87 
69 
cg 
FG 
GA 
58 
48 
67 
35 
c8 
63 
8c 
@D 
63 
DS 
18 


6D49:6F 
@D51:CE 
@D59:EC 
@D61:4C 
@D69:99 
GD71:34 
@D79:68 
9D81:63 
GD89:20 
@D91:4C 
@D99:GA 
@DA1:85 
GDA9:A5 
@DB1:FF 
GDB9:A2 
G@DC1:66 
@DC9:61 
@DD1:GE 
@DD9:4C 
@DE1:A2 
GDE9: G6 


34 
4c 
EC 
Ag 
26 
Fl 
26 
AG 
AQ 
20 
26 
96 
@D 
A8 
66 
vy) 
GE 
4c 
A2 
G6 
6B 


@DF1:GE 
@DF9:GE 
GEG1:4C 
GEG9:30 
GE11:A5 
GE19:31 
GE21:04 
GE29:2A 
GE31:26 
GE39:34 
@E41:F9 
GE49:F1 
@E51:E9 
GE59:E1l 
G£61:16 
GE69:20 
GE71:GE 
GE79:66 
GE81:34 
GE89:BG 
GE91:38 
GE99:03 
@EA1:E1l 
@EA9:C9 
GEB1:62 
GEB9:8D 
@EC1:CA 
GEC9:D1 
GED1:24 
GED9:FE 
@EE1:AD 
@EE9:BD 
GEF1:D1 
GEFI:16 
GFG1:62 
GFO9:FO 
GOF11:26 
G@F19:62 
@F21:C9 
GF29:FC 
GF31:62 
GF39:96 
OF41:20 
GF49:B1 
GF51:03 
GF59:C8 
GF61:CO 
GF69:BE 
GF71:66 
GF79:16 
@F81:20 
GF89:GD 
@F91:8D 
GF99:A9 
GPA1:AG 
GFA9:DE 
GFB1:FF 
GFB9:FG 


4c 
A2 
06 
Ag 
36 
69 
CA 
FO 
GE 
63 
cg 
cg 
cg 
co 
AC 
D2 
AC 
AC 
g3 
G3 
AD 
4c 
6D 
8c 
26 
cg 
02 
62 
AD 
99 
c3 
62 
92 
4c 
26 
GE 
B9 
EE 
62 
66 
FG 
26 
58 
FD 
c8 
Bl 
62 
G2 
AQ 
26 
07 
A2 
cl 
Cr) 
oo 
GA 
FO 
gc 


GE 
4c 
A2 
85 
AS 
85 
16 
26 
AG 
E4 
FO 
FG 
FO 
FG 
93 
26 
03 
G3 
AC 
3B 
63 
GE 
B9 
49 
GA 
AS 
G1 
FF 
62 
2B 
co 
FF 
D2 
OF 
16 
07 
AD 
62 
FB 
oo 
Bl 
GA 
4c 
2c 
49 
99 
34 
Bl 
8D 
@D 
26 
26 
AS 
BA 
CF 
a4 
26 
A3 


06 
@D 
85 
18 
A5 
FG 
cg 
4C 
8D 
FO 
BO 
FO 
FO 
FO 
D2 
3B 
c2 
EE 
ol 
FF 
34 
26 
16 
c3 
FB 
8D 
8D 
FO 
26 
OF 
AD 
EE 
8F 
c3 
4c 
6D 
EG 
AD 
85 
BD 
FO 
E8 
Ut) 
35 
63 
8c 
8D 
62 
61 
69 
64 
FB 
G2 
62 
26 
co 
4G 
cg 


1669:61 
1811:96 
1919:C3 


8D 
8D 
G2 


G2 
62 
Dl 


69 
8D 
OF 


1621:A9 
1629:26 
1931:67 
1639:A2 
1641:FB 
1949:64 
1651:F6 
1959:CD 
1661:26 
1669:AG 
1971:68 
1679:CB 
1681:BB 
1089:FF 
1991:0A 
1699:87 
16A1:62 
10A9:FB 
19B1:89 
16B9:2C 
106C1:35 
19C9:18 
16D1:67 
16D9:AD 
16E1:85 
10E9:38 
16F 1:36 
16F9:41 
1101:53 


1121349 
1129:4E 
1131:59 
1139:4F 
1141:26 
1149:4B 
1151:54 
1159:47 
1161:49 
1169:49 
1171:26 
1179:52 
1181:4B 
1189:56 
1191:4F 
1199:53 
11A1:49 
11A9:67 


11D1:13 
11D9:12 
11E1:C@ 
11E9:C@ 
11F1:CO 
11F9:CO 
1261:1D 
1269:26 
1211:26 
1219:26 
1221:20 
1229:DD 
1231:D5 
1239:B2 
1241:26 
1249:26 


NOVEMBER 1991 


61 
97 
GA 
62 
20 
16 
G3 
BF 
cc 
@3 
AC 
FF 
62 
cg 
26 
16 
8D 
AD 
26 
9D 
63 
AD 
EE 
cl 
FC 
3A 
3A 
4D 
4B 
2A 
49 
4D 
44 
41 
2A 
26 
3A 
45 
43 
45 
4E 
4E 
2A 
47 
26 
45 
55 
4B 
56 
09 
69 
DS 
FB 
26 
4c 
DS 
co 
co 
ce 
ce 
1c 
29 
29 
26 
20 
@D 
ce 
co 
AE 
B2 


8D 
9D 
26 
26 
D2 
AD 
4c 
62 
FF 
26 
FC 
ag 
8D 
96 
G4 
co 
BD 
CA 
2B 
35 
E8 
BD 
BD 
G2 
66 
2A 
2A 
45 
26 
55 
44 
41 
41 
4D 
51 
46 
56 
59 
48 
20 
47 
47 
58 
45 
49 
2A 
52 
26 
45 
o7 
68 
85 
co 
DE 
D2 
co 
co 
co 
ce 
ce 
12 
20 
26 
26 
26 
1D 
cg 
DS 
26 
ce 


93 
GE 
@D 
FF 
26 
62 
16 
E2 
34 
FF 
26 
8D 
62 
F9 
26 
FO 
AD 
85 
AE 
E8 
34 
cD 
4c 
FB 
36 
30 
45 
3E 
41 
49 
3E 
2A 
45 
2a 
49 
4c 
45 
53 
43 
4c 
2a 
2A 
54 
20 
26 
55 
45 
4E 
Go 
65 
19 
Ag 
FO 
4c 
93 
co 
co 
ce 
co 
co 
20 
26 
26 
26 
26 
12 
DS 
20 
26 
26 


COMPUTE 


16 
26 
@D 
Bl 
20 
62 
G2 
OF 
35 
A2 
26 
8D 
E4 
o7 
26 
EG 
85 
FE 
Ag 
9D 
21 
EO 
66 
@2 
56 
53 
4E 
49 
26 
45 
4F 
4c 
45 
50 
4E 
2A 
26 
41 
4E 
44 
56 
47 
41 
53 
49 
53 
49 
52 
gc 
G8 
or) 
FC 
D2 
ag 
1c 
co 
co 
co 
ce 
@D 
20 
26 
26 
26 
20 
9E 
28 
co 
AE 
co 


43 
B9 
1A 
FF 
72 
97 
E8 
AG 
c7 
c7 
9c 
18 
Ad 
C3 
42 
2c 
1c 
gc 
AA 
68 
52 
DF 
AA 
F7 
GA 
2D 
F8 
25 
72 
E3 
96 
9E 
23 
GE 
48 
Bo 
6F 
BD 
26 
7D 
1E 
69 
9A 
7c 
5F 
62 
AB 
9E 
99 
2F 
G6 
36 
B3 
AS 
22 
E9 
4 
gc 
14 
7A 
BC 
2D 
35 
3D 
45 
cB 
11 
26 
68 
DS 


G-37 


PROGRAMS 


1251:C9 26 1C 26-DD @D 1D ic 61 
1259:12 DD 26 9E DD 286 26 26 BB 
1261:DD 20 DD 28 DD CA CB DD C9 
1269:26 AB C@ CB 28 DD 26 DD F3 
1271:28 28 DD 26 26 AB CO 26 BC 
1279:28 26 CA CO C9 28 1C 26 42 
1281:DD @D 1D 1C 12 DD 26 9E 24 
1289:CA C@ CB 28 CA C@ CB 26 CF 
1291:BD 20 26 AD 26 Bl 26 26 A3 
1299:26 CA C@ CB 26 28 Bl 20 5A 
12A1:28 Bl C® BD 26 20 CA C@ GE 
12A9:CB 26 1C 26 DD 9D 1D 1C BA 
12B1:12 DD 26 26 26 20 26 26 3E 
12B9:26 20 26 26 26 20 26 26 DD 
12C1:28 20 26 28 20 20 26 26 E5 
12C9:26 20 26 26 26 26 26 26 ED 
12D1:26 26 28 26 26 20 DD @D SE 
12D9:1D 1c 12 CA C® C@ C8 CB CD 
12E1:C@ C@ CB CB CB CB CB CH GE 
12E9:C@® C@ CB CB CB CB CB CH GE 
12F1:C@ C® CB CB CB CB CH CH 16 
12F9:C® C@ CB CB CB CG CG CH 1E 
1361:CB @D 11 9A 1D 1D 1D 1D D@ 
1369:28 B2 AE 26 B2 26 26 B2 CC 
1311:26 20 B2 AE 26 20 26 B2 @5 
1319:AE 26 B@ AE 26 B2 AE 26 E8 
1321:B2 26 B2 AE 20 B2 AE OD 26 
1329:1D 1D 1D 1D 20 AB 26 206 AA 
1331:DD A@ 26 DD 26 20 AB 28 49 
1339:26 26 26 DD 26 26 DD DD 74 
1341:28 AB BD 26 DD 26 AB 26 G3 
1349:20 AB B3 @D 1D 1D 1D 1D 66 
1351:26 Bl 26 26 Bl 26 26 Bl F9 
1359:BD 26 Bl BD 26 20 29 Bl EB 
1361:BD 26 AD BD 28 Bl 26 206 28 
1369:Bl 26 Bl BD 20 Bl AD GOD B2 
1371:11 96 1D 1D 1D 1D 1D 1D EF 
1379:1D 1D 1D 1D 1D 1D 1D 43 C5 
1381:4F 58 59 52 49 47 48 54 FF 
1389:26 31 39 39 31 OD 11 96 3D 
1391:1D 1D 1D 1D 1D 1D 43 4F 36 
1399:4D 5G 55 54 45 26 58 55 6B 
13A1:42 4C 49 43 41 54 49 4F 96 
13A9:4E 53 26 49 4E 54 4C 26 EG 
13B1:4C 54 44 11 6D 1D 1D 1D E@ 
13B9:1D 1D 1D 1D 1D 1D 1D 41 64 
13C1:4C 4C 20 52 49 47 48 54 96 
13C9:53 26 52 45 53 45 52 56 EA 
13D1:45 44 11 @D 1c 3E 11 1F B9 
13D9:6D 1D 1C 46 31 2D 1F 26 52 
13E1:56 41 4C 49 44 41 54 45 B6 
13E9:26 26 1C 46 32 2D 26 1F B5 
13F1:53 43 52 41 54 43 48 26 51 
13F9:28 1C 46 33 2D 26 1F 52 AD 
1461:45 4E 41 4D 45 6D 1p 1D 12 
1469:1D 1D 1c 46 34 2D 26 1F A4 
1411:46 4F 52 4D 41 54 26 26 GB 
1419:28 1C 46 35 2D 26 1F 4C E8 
1421:4F 41 44 26 44 49 52 45 FC 
1429:43 54 4F 52 59 6D 1D 1D 6D 
1431:1D 1D 1D 1C 46 36 2D 26 1A 
1439:1F 51 55 49 54 28 26 1c 64 
1441:46 37 2D 26 1F 43 4F 56 F6 
1449:59 26 26 1C 46 38 2D 26 79 
1451:1F 41 42 4F 52 54 GD @6 94 


Daniel Lightner is a frequent contribu- 
tor. He lives in Sidney, Montana. a 


G-38 COMPUTE NOVEMBER 1991 


PUZZLE MANIA 


By Maurice Yanney 

As different pieces fall from the sky in 
Puzzle Mania, it’s your job to see that 
they land on identically shaped pieces 
on rows at the bottom of the screen. 
You control the position of the lower 
shapes, but lining them up with the fall- 
ing pieces can be tricky. 

Completing a puzzle and continuing 
to the next level require matching all the 
pieces on each of the three rows at the 
bottom of the puzzle. Puzzle Mania is 
a one-player game which requires fast 
reactions and quick thinking. 


Getting Started 

Although Puzzle Mania is written in ma- 
chine language, it loads and runs like 
a BASIC program. To type it in, use 
MLX, our machine language entry pro- 
gram. When MLX prompts you, re- 
spond with the values given below. 


Starting address: 0801 
Ending address: 12E0 


Be sure to save a copy of the program 
before exiting MLX. Movement is con- 
trolled by using a joystick (in either 
port) or the keyboard. 


Playing the Game 

As pieces fall, you try to see to it that 
they land on matching pieces before 
time expires. Complete one level, and 
then proceed to the next. Each level 
contains a more difficult puzzle. 

The first level consists of the falling 
pieces and three bottom rows. An ad- 
ditional row is added on subsequent lev- 
els. Each row consists of five shapes to 
be matched. When a piece is 
matched by a falling piece, it disap- 
pears from the row. When all the piec- 
es have been matched, you move to 
the next level. 

You position the shapes on the bot- 
tom rows with a joystick (in either port) 
or by using the |, J, K, and M keys to 
move up, left, right, and down, respec- 
tively. When you move up, the top row 
of the puzzle becomes the bottom row, 
and all the other rows move up one 
row. Moving down does the opposite; 
the bottom row becomes the top row, 
and all the other rows move down one 
row. Moving left and right affects only 


the top row by moving the shapes left 
or right. If you move a shape off one 
side of the screen, it will wrap to the oth- 
er side. Moving 39 positions to the left 
is the same as moving one position to 
the right, except that it takes longer. 

Pieces fall three at a time, and there 
are eight different pieces in all. Each 
piece has a unique match. If a falling 
piece is not met by its match, then a dif- 
ferent shape takes its place. If the fall- 
ing piece matches, that piece disap- 
pears, and you receive 100 points. 
Then a new piece starts to fall. 

The time given to complete the first 
level is 500 ticks. An onscreen clock 
shows ticks remaining. An additional 
100 ticks are given to complete subse- 
quent levels until level 6, and then no 
additional time is awarded. When all 
the pieces are matched and a level is 
completed, bonus points are awarded 
based on the amount of time remain- 
ing. Ten bonus points are given for 
each remaining tick. 

To pause the game, hold down the 
Shift key (or press the Shift Lock key). 
When the Shift key (or Shift Lock key) 
is released, the game continues. 


Tips on Playing 
The puzzle pieces fall slowly in the 
first few levels, so utilize this time to 
your advantage. Instead of just lining 
up one piece and waiting for it to fall in- 
to place, plan a move or two ahead. 
One way of doing this is to line up the 
second falling piece with its match on 
the second or third bottom row. Once 
the first piece is matched, move up or 
down until the row with the prealigned 
piece is on top. You can then get piec- 
es that are going to reach the top row 
at nearly the same time. On higher lev- 
els you'll need to do this often. 
Another tip useful on higher levels in- 
volves putting a priority on which 
piece you're trying to match. There are 
eight different pieces. Although the piec- 
es fall in a somewhat random order, all 
eight pieces will fall before a new se- 
quence starts. If one piece appears 
many times on the puzzle board and 
another only a few times, you should 
try to match the ones appearing more 
frequently. You may have only a cou- 
ple of pieces remaining, don't waste 
time waiting for the the same one or 
two pieces to reappear. 


PUZZLE MANIA 


9861:0B OB GA 09 
9809:36 32 69 BO 
9811:26 DO AD OF 
$819:95 18 26 D9 
@821:26 AI 12 26 
@829:11 20 8B 12 
9831:8D 92 C9 61 
@839:0C AD E6 12 
@841:E6 12 FO OB 
9849:C9 FD FG GE 
0851:16 16 29 EA 
@859:E6 12 A5 C5 
@861:C9 22 FO 37 
@869:C9 24 FO 3B 
9871:77 F® 22 C9 
9879:7E FO 26 C9 
@881:01 DC C9 F7 
9889:FG 11 C9 FE 
@891:FG6 15 4C AE 
G899:4C AE 68 20 
@8A1:08 26 63 6D 
@D 4C AE 
F5 12 DO 
DB 12 C9 
26 2F OB 
@8C9:AB 89 28 22 
G@8D1:FF 99 DO G6 
A2 13 AG 
A9 51 AG 
15 28 7D 
12 A2 66 
G1 C9 FF 
DF 12 A8 
04 9D B4 
1c 66 AD 
9D 68 DB 
9921:68 D9 9D 1c 
9929:DG G2 AB BB 
4c 65 89 
C9 7F DG 
FF DO 6B 
G3 DO EA 
54 4F 26 
26 20 4A 
43 4B 20 
4A 2C 4B 
4B 45 59 
56 45 20 
49 43 4B 
9989:58 52 45 53 
G991:41 43 45 26 
41 52 54 
gC G5 26 
26 26 2F 
18 20 BA 
99B9:69 28 1E AB 
G9C1:0C E8 DO FA 
99C9:12 A2 05 AG 
G9D1:E5 A9 G1 AG 
@9D9:AD 9B DC C9 
G9E1:21 68 AD 61 
G9E9:G3 4C 21 68 
G9F1:D0 E6 26 E2 
@9F9:4D 45 20 4F 
GAG1:96 4E 20 54 
GAG9:49 54 BB AC 
GA11:12 85 FB B9 
GA19:A8 GG Bl FB 


9E 
oo 
8D 
11 
93 
26 
FO 
18 
cg 
4c 
OB 
cg 
cg 
AD 
7B 
7D 
FG 
FO 
08 
CA 
4c 
68 
63 
FE 
4c 
12 
c8 
G2 
99 
12 
AD 
DO 
B9 
a4 
DF 
9D 
DA 
E8 
A2 
12 
26 
4c 
4D 
4F 
4P 
20 
53 
4A 
20 
53 
54 
Ur) 
@D 
@B 
E5 
A2 
A2 
OF 
OA 
if. 
Dc 
A5 
FC 
56 
4P 
F7 
ED 
cg 


20 
AQ 
21 
26 
@D 
72 
F9 
69 
FA 
36 
Ag 
25 
21 
Ct) 
FO 
FO 
OF 
13 
26 
@D 
AE 
20 
20 
FO 
38 
AG 
co 
18 
26 
Ag 
DF 
82 
9E 
9D 
12 
B4 
c8 
EG 
Ul) 
AD 
Fi? 
ES 
4F 
59 
52 
26 
Go 
4F 
4F 
20 
4F 
16 
@l 
A2 
AQ 
c8 
03 
18 
20 
FG 
co 
cs 
96 
45 
20 
12 
12 
20 


@A21:C9 
GA29:AC 
GA31:61 
GA39:A8 
GA41:59 
GA49:3EG 
@A51:EC 
GA59:8F 
GA61:DG 
GA69:07 
GA71:C@O 
GA79:4C 
GA81:F2 
GA89:D0 
GA91:GA 
GA99:FS 
GAA1:A9 
GAAI: 02 
GAB1:85 
GAB9:88 
GAC1:CO 
GAC9:16 
GAD1:F7 
GAD9:F6 
GAE1:0C 


75 
69 
FB 
Da 
67 
co 
4c 
F8 
Do 
OA 
22 
EG 
E7 
oF 
8D 
Ur) 
AG 
12 
88 
FB 
@3 
8D 
8D 
26 
AQ 


9B39:DG 
@B41:BD 


E8 
DE 


GB69:93 
OB71:8F 
GB79:99 


AS 
12 
69 


0B91:68 
0B99:GF 


29 
29 


GBE9: 60 
OBF1:61 


EQ 
AQ 


GC21:FG 
@C29:4C 
OC31:A9 
0C39:68 
OC41:E2 
GC49:A9 


12 
12 
GA 
AD 
G2 
12 


GC51:A9 
@C59:AD 
GC61:12 
@C69:AG 
6C71:AG 
GC79:1A 
@C81:DC 
6C89:GF 
6C91:6C 
@C99:12 
G@CA1:69 
GCA9:69 
GCB1:16 
G@CB9:AE 
@CC1:29 
GCC9:FO 
G@CD1:26 
@CD9:E8 
GCE1:16 
@CE9: 290 
GCF1:4F 
@CF9:A9 
ODG1:F7 
GDG9:A9 
@D11:A9 
@D19:91 
@D21:A9 
@D29:28 
@D31:FE 
@D39:DB 
@D41:FB 
@D49:Bl 
9D51:C8 
6D59:12 
@D61:6D 
GD69:AG 
@D71:8D 
@D79:12 
OD81:A9 
@D89:FB 
OD91:FB 
G@D99:E9 
GDAL:E9 
GDA9:BC 
@DB1:6F 
@DB9: 38 
@DC1:62 
GDC9: 60 
@DD1:FB 
G@DD9:88 
@DE1:E2 
GDE9:85 
@DF1:9B 
ODF9:6D 
GEG1:8D 
GE99:6D 
GE11:AG 
@E19:AD 
GE21:AG 
@E29:FB 
GE31:38 
GE39:12 
@E41:8D 
GE49:3E3 
GE51:97 
GE59:88 
@E61:DF 
GE69:EG 
@E71:A9 
GE79:8A 


NOVEMBER 1991 


FS 
18 
G2 
26 
1E 
GA 
cD 
GA 
AB 
12 
E7 
E8 
GA 
20 
AD 
16 
A2 
26 
4E 
56 
53 
Ol 
68 
FE 
FC 
AS 
FB 
AS 
12 
48 
85 
DF 
ED 
26 
48 
Bl 
c8 
12 
FB 
6D 
91 
FB 
E2 
12 
26 
E9 
91 
@D 
cg 
26 
FB 
) 
EB 
38 
c8 
DG 
DF 
91 
Bl 
FB 
12 
De 
26 
76 
12 
DF 
EG 
55 
FB 
12 


12 AE E2 
69 65 8D 
D@ F2 A2 
GA ES AD 
AB A2 G6 
E5 AQ 6G 
BD A2 @8 
ES AQ FG 
A9 96 8D 
18 AD E7 
12 AD E8 
12 A2 08 
E5 AD E8 
CD BD A9 
DB 12 C9 
16 4C 9D 
7D 26 F7 
8B 12 26 
44 26 4F 
45 4C a6 
3A 66 AD 
D@ FC CB 
A9 76 85 
A9 FB 85 
AG OO AS 
FE 91 FB 
38 AS FD 
FE E9 96 
E8 EG 6D 
GE AQ FB 
FC AG GG 
12 8D El 
E@ 12 @D 
9B 12 4C 
GE 20 EG 
FB ED DF 
Bl FB ED 
DG GE AG 
c8 AQ 67 
AG 66 38 
FB C8 Bl 
38 AD E2 
L2,CSEEE, 
8D E2 12 
3B 6D AG 
G1 C9 FF 
FB 26 91 
AG 62 18 
28 D® G2 
91 GE 68 
85 FB AQ 
FO G7 88 
@D 68 28 
Bl FB E9 
Bl FB E9 
13 26 48 
12 91 FB 
FB 4C 31 
FB 69 28 
69 68 91 
E9 @1 8D 
B9 AD E3 
6F GE 66 
8D DF 12 
CB 6G FO 
12 E9 28 
12 E9 6G 
GE 60 A2 
AQ 12 85 
26 91 GE 


COMPUTE 


PROGRAMS 


EE SE SB EEA PEREIRA ONT TE UNTER TEAON PIER OIE TET TS] 


@E81:DF 12 AA EC E3 12 FO 
GE89:28 9B 12 E8 4C 79 GE 
GE91:A2 G8 AG BG Bl FB 85 
GE99:C8 Bl FB 85 FE C8 18 
GEA1:FB 69 63 A8 AS FE FO 
GEA9:Bl FB 8D E@ 12 98 8D 
GEB1:12 8A A8 AD EG 12 91 
GEB9:AD El 12 A8 C8 E8 CO 
@EC1:D8 62 AG 63 EG 28 DG 
GEC9:66 AD E4 12 C9 67 DB 
GED1:A9 @@ 8D E4 12 26 97 
GED9:A5 8F 29 67 8D E5 12 
@EE1:AD E4 12 69 61 8D E4 
GEE9:18 AD E5 12 69 61 29 
GEF1:8D E5 12 66 206 E@ OD 
GEF9:63 AY 66 8D El 12 AD 
GFG1:91 FB C8 C@ 2B DG F9 
GF69:63 C8 C8 C8 C8 C8 C8 
GF11:98 8D DF 12 28 CA GE 
@F19:69 E7 AC DF 12 91 FB 
@F21:El1 12 18 69 @1 8D El 
GF29:C9 G5 DB DD 26 97 EG 
@F31:67 AG 62 91 FB 66 26 
@F39:GE 38 AD E2 12 E9 81 
GF41:E2 12 C9 FF DG FO AD 
6F49:12 8D E2 12 60 A2 18 
GF51:06 AD DA 12 8D DF 12 
@F59:DB 12 8D EG 12 26 B2 
GF61:26 38 16 18 29 GA ES 
@F69:DB 12 AE DA 12 28 CD 
@F71:66 A2 18 A@ 21 AD DC 
@F79:8D DF 12 A9 86 8D EB 
@F81:26 B2 GF 18 26 GA ES 
@F89:68 AE DC 12 2@ CD BD 
GOF91:A2 18 AG 14 AD DD 12 
@F99:DF 12 AD DE 12 8D EG 
GFA1:26 B2 GF 18 26 GA E5 
@FA9:DE 12 AE DD 12 28 CD 
GFB1:60 38 A9 OF ED DF 12 
GFB9:E1 12 A9 27 ED EG 12 
@FC1:E1l 12 98 3D C8 38 A9 
@FC9:ED DF 12 8D El 12 A9 
@FD1:ED E@ 12 OD El 12 96 
GFD9:C8 38 AY 63 ED DF 12 
OFE1:E1 12 A9 68 ED EG 12 
@FE9:E1 12 98 15 C8 38 AY 
@FF1:ED DF 12 8D El 12 A9 
GFF9:ED E@ 12 OD El 12 98 
1691:C8 68 18 6D DD 12 8D 
1669:12 AD DE 12 69 66 8D 
1911:12 20 91 GF 66 26 4E 
1619:38 AD DA 12 E9 61 8D 
1621:12 AD DB 12 E9 68 8D 
1629:12 6@ 18 AD DC 12 69 
1631:8D DC 12 28 72 GF 60 
1639:A9 E7 ED DA 12 8D El 
1641:A9 63 ED DB 12 @D El 
1649:D8 65 AI 39 8D C7 G7 
1651:A9 63 ED DA 12 8D El 
1959:A9 @@ ED DB 12 @D El 
1961:D8 G5 A9 38 8D C8 87 
1969:A9 69 ED DA 12 8D El 
1971:A9 6G ED DB 12 @D El 
1679:D8 G5 AY 38 8D C9 87 
1981:AG GG AD 26 99 BB G4 
1989:98 G5 99 GB G6 99 98 
1691:C8 DG Fl 68 AY 38 85 
19699:85 38 AD GE DC 29 FE 
16A1:G@E DC A5 G1 29 FB 85 
1GA9:A9 GG AG GG BO GB DG 


G-40 COMPUTE NOVEMBER 1991 


o7 
66 
FD 
Bl 
26 
El 
FD 
2B 
EG 
OF 
EO 
18 
12 
67 
AG 
RE 
AG 
c8 
18 
AD 
12 
29 
FS 
8D 
E3 
Ag 
AD 
OF 
AD 
BD 
12 
12 
Ag 
66 
8D 
12 
AD 
BD 
8D 
@D 
E7 
63 
29 
8D 
@D 
69 
Cr) 
G1 
DD 
DE 
OF 
DA 
DB 
G1 
38 
12 
12 
38 
12 
12 
38 
12 
12 
60 
99 
06 
34 
8D 
Gl 
99 


190C9:90 
19D1:B9 
16D9:D7 
16E1:61 
16E9:99 
16F1:D8 
16F9:AG 
1141:Cc8 
1199:99 
1111:12 
1119:96 
1121:AG 
1129:37 
1131:26 
1139:C8 
1141:C8 
1149:DB 
1151:c8 
1159:99 
1161:99 
1169:26 
1171:968 
1179:69 
1181:66 
1189:96 
1191:66 
1199:66 
11A1:6¢6 
11A9:66 
11B1:98 
11B9:66 
11C1:FF 
11€9:99 
11D1:3c 
11D9:AG 
11E1:6A 
11E9:F1 
L1F1:E5 
11F9:66 
1261:36 
1269:43 
1211:36 
1219:56 
1221:66 
1229:99 
1231:DA 
1239:88 
1241:6D 
1249:62 
1251:62 
1259:12 
1261:78 
1269:Cl 
1271:38 
1279:38 
1281:6A 
1289:AB 
1291:26 
1299:6B 
12A1:FB 
12A9:A9 
12B1:A9 
12B9:E2 
12C1:E6 
12C9:F8 
12D1:A9 
12D9:69 


34 
oo 
99 
99 
61 
29 
oo 
co 
re) 
CA 
26 
oo 
c8 
71 
99 
99 
AG 
Dg 
78 
78 
68 
Te 
1c 
7F 
7F 
66 
7F 
7E 
7P 
TE 
7F 
FF 
66 
18 
Cr) 
99 
A2 
XS) 
96 
36 
4P 
36 
45 
Ag 
Go 
c8 
8D 
6B 
8D 
8D 
26 
37 
iat 
AQ 
37 
ES 
6a 
37 
6a 
AS 
oo 
OF 
12 
12 
12 
g8 
ao 


35 
a6 
A5 
pc 
18 
De 
31 
A2 
5E 
i) 
E9 
38 
12 
37 
37 
Dg 
37 
cs 
c8 
12 
66 
7F 
TE 
7F 
7F 
G6 
uy 
7E, 
G3 
7E 
63 
99 
TE 
18 
Ag 
Dd 
OA 
AB 
3A 
53 
36 
45 
26 
D8 
98 
Ag 
26 
Ag 
Ag 
F7 
99 
BD 
66 
99 
26 
1E 
12 
62 
85 
68 
12 
8D 
8D 
8D 
12 
12 
oo 


ONLY 
ON 
DISK 


In addition to the type-in programs 
found in each issue of the magazine, Ga- 
Zette Disk offers bonus programs and 
original 64 and 128 artwork. Here are 
this month’s bonuses. 


Connect the Letters 
Richard J. Sands 
Atlanta, GA 


This version of a popular paper-and- 
pencil game is played on a grid of five 
rows by five columns with 25 letters. The 
object is to draw horizontal and vertical 
lines that connect the letters. You and 
the computer take turns drawing one 
line at a time. You win a square when 
you draw the line that completes it. The 
player with the most squares wins. 


Sport Card Collector 
Kevin Scott Davis 
Winter Park, FL 


To help you use Sport Card Collector, 
we have included a partial listing of the 
author's basketball card collection. 
You may order this disk ($9.95 
plus $2.00 shipping and handling) from 
Gazette Disk, COMPUTE Publications, 
324 West Wendover Avenue, Suite 200, 
Greensboro, North Carolina 27408. 


= 


TYPING AIDS 


MLX, our machine language entry program for 
the 64 and 128, and The Automatic Proofread- 
erare utilities that help you type in Gazette pro- 
grams without making mistakes. To make 
oom for more programs, we no longer include 
these labor-saving utilities in every issue, but 
they can be found on each Gazette Disk and 
are printed in all issues of Gazette through 
June 1990. 

If you don't have access to a back issue or 
to one of our disks, write to us, and we'll send 
you free copies of both of these handy pro- 
grams. We'll also include instructions on how 
to type in Gazette programs. Please enclose a 
self-addressed, stamped envelope. 

Write to Typing Aids, COMPUTE's Ga- 
zette, 324 West Wendover Avenue, Suite 200, 
Greensboro, North Carolina 27408.